Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 17061|Odpověď: 0

[ASP.NET] Na základě toho. Vývoj třívrstvé architektury .LINQ do SQL

[Kopírovat odkaz]
Zveřejněno 08.05.2015 15:47:22 | | | |

Nesmysl napsaný na začátku

Na základě toho. Třívrstvá architektura .NET může být rozdělena do následujících vrstev: Data Linq vrstva, Data Access layer, business logic layer a presentation layer. Šipkové symboly na obrázku 1 níže ilustrují interakci mezi vrstvami: vrstva přístupu k datům odkazuje na vrstvu Data LINQ; Vrstva obchodní logiky odkazuje na vrstvu přístupu k datům a třídy entit ve vrstvě Data LINQ. Prezentační vrstva odkazuje na vrstvu obchodní logiky i na třídy entit ve vrstvě Data LINQ.

Vrstva Data LINQ zahrnuje především třídy entit a třídy Data Context. Typicky je třída entity určena pro jednu tabulku v databázi. Můžeme vytvářet instance tříd entit, které jsou přenášeny mezi různými vrstvami jako datové objekty.

        Obrázek 1 Třívrstvá architektura LINQ do SQL

Následuje příklad přihlašovacího okna při vytváření projektu pro zavedení tříúrovňové architektury vývoje LINQ do SQL

Příprava

1. Nejprve potřebujete databázi a datovou tabulku pro uložení uživatelského jména a hesla přihlášené osoby. Zde se používá databáze SQL Server 2005. Struktura databázové tabulky je znázorněna na obrázku 2.

Obrázek 2 Uživatelská tabulka databáze

2. Otevřít VS a vytvořit nový projekt ---> jiné typy projektů---> řešení Visual Studio---> prázdná řešení. Jak je znázorněno na obrázku 3. (Zde se používá Visual Studio 2008)


Obrázek 3 Vytvořit prázdné řešení

3. Přidat knihovnu tříd. Klikněte pravým tlačítkem na nově vytvořené řešení v Průzkumníku řešení ---> přidejte ---> nový projekt ---> knihovnu tříd. Jak je znázorněno na obrázku 4. Stejná metoda vyžaduje přidání tří knihoven: BLL, DAL a DataLinq, a aplikace Windows Forms (pokud jde o vývoj webových aplikací, vyberte ASP.NET webové aplikace) a pojmenujte ji UI.


Obrázek 4 Přidejte knihovní projekt

Struktura po přidání je znázorněna na obrázku 5. Současně klikněte pravým tlačítkem na UI a nastavte UI jako launchovací předmět.


Obrázek 5 Diagram struktury projektu

Přidejte citát

V Průzkumníku řešení přidejte odkazy na každou úroveň. Vrstva BLL Vyberte reference --->klikněte pravým tlačítkem ---> přidejte reference. Jak je znázorněno na obrázku 6. Přidejte odkaz na System.Data.Linq. Současně, podle vztahu mezi vrstvami zobrazenými na obrázku 1 výše, přidejte odkazy na projekty DAL a DataLinq. Podobně vrstva DAL přidává odkazy na projekty do System.Data.Linq a DataLinq, vrstva DataLinq přidává odkazy na System.Data.Linq a vrstva UI přidává odkazy na System.Data.Linq a projektové odkazy na BLL a DataLinq.


Obrázek 6 Přidat odkazy na projekty

Dosud byla zavedena tříúrovňová architektura. Následující je přidání jejich odpovídajících tříd ke každé vrstvě.

1. Nejprve vrstva DataLinq. Klikněte pravým tlačítkem na DataLinq---> přidejte ---> nový projekt---> vyberte třídu LINQ do SQL, jak je znázorněno na obrázku 7.


Obrázek 7 Přidání LINQ do SQL třídy

2. Po dokončení přidání bude automaticky vytvořen prázdný designér (.dbml soubor) s odkazem na Server Explorer, stejně jako příslušný soubor dbml.layout (XML soubor) a designer.cs soubor. Otevřete Server Explorer a navazujte odkaz na databázi.


Obrázek 8 Open Server Explorer

3. Připojte se k databázi. Vyberte nástroj ---> přidání databáze. Jak je znázorněno na obrázku 9. Vyberte nově vytvořenou databázi a určete databázi spojení. V tomto bodě se databáze objeví v Server Exploreru.


4. Vyberte uživatele datové tabulky, kterého chcete použít, přetáhněte ho do návrháře, jak je znázorněno na obrázku 10 níže. Uložte soubor. Nyní byly automaticky generovány třídy DataContext a entity s příslušnými vlastnostmi, metodami a metodami.


Obrázek 10 Uživatelská třída

Přidejte vrstvy kódu

DAL vrstva

Vytvořte novou třídu UserDAL a přidejte následující kód

//UserDAL.cs

pomocí DataLinq;
pomocí System.Data.Linq;

Jmenný prostor DAL
{
    veřejná třída UserDAL
    {
        private DataLinq.DBLinqDataContext objDataContext = new DataLinq.DBLinqDataContext();

        public User SelectRecordByID (string userid)
        {
            zkus
            {
                return (z u v objDataContext.User kde u.Id == userid select u). Single();
            }
            chytit (Výjimka ex)
            {
                vyhoďte ex;
            }
        }
    }
}

BLL vrstva

Vytvořte novou třídu UserBLL a přidejte následující kód

//UserBLL.cs

pomocí System.Data.Linq;
pomocí DataLinq;

Jmenný prostor BLL
{
    veřejná třída UserBLL
    {
        vojín DAL. UserDAL objUserDAL = nový DAL. UserDAL();

        public User SelectRecordByID (string userid)
        {
            return objUserDAL.SelectRecordByID(userid);
        }
    }
}

Kód UI vrstvy

//LoginForm.cs

vojín BLL. UserBLL objUserBLL = nový BLL. UserBLL();
      
        private void btnSubmit_Click(object sender, EventArgs e)
        {
            string id = txtId.Text.Trim();
            string psd = txtPsd.Text.Trim();

            User localDataTable = objUserBLL.SelectRecordByID(id);

            if (localDataTable != null & localDataTable.Psd == psd)
            {
                MessageBox.Show ("Úspěch");
            }
            jinak
            {
                MessageBox.Show ("false");
            }
        }

V tomto bodě je kód přihlašovacího rozhraní kompletní. Můžete ho spustit, abyste viděli efekt.






Předchozí:Pokud již máte otevřený DataReader přiřazený k tomuto příkazu, musíte jej nejprve zavřít.
Další:LINQ získá problém s vrácením uložené procedury
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com