Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 17061|Odpowiedź: 0

[ASP.NET] Na podstawie. Tworzenie architektury trójwarstwowej .LINQ do SQL

[Skopiuj link]
Opublikowano 08.05.2015 15:47:22 | | | |

Na początku napisane bzdury

Na podstawie. Architekturę .NET o trzech warstwach można podzielić na następujące warstwy: warstwę Data Linq, warstwę dostępu do danych, warstwę logiki biznesowej oraz warstwę prezentacji. Symbole strzałek na Rysunku 1 poniżej ilustrują interakcję między warstwami: warstwa dostępu do danych odnosi się do warstwy Data LINQ; Warstwa logiki biznesowej odnosi się do warstwy dostępu do danych oraz klas encji w warstwie Data LINQ. Warstwa prezentacji odnosi się do warstwy logiki biznesowej oraz klas encji w warstwie Data LINQ.

Warstwa Data LINQ obejmuje głównie klasy encji i klasy kontekstu danych. Zazwyczaj klasa encji dotyczy jednej tabeli w bazie danych. Możemy tworzyć instancje klas encji przenoszonych między różnymi warstwami jako obiekty danych.

        Rysunek 1 Architektura trójwarstwowa LINQ do SQL

Poniżej znajduje się przykład okna logowania podczas tworzenia projektu wprowadzającego trójwarstwową architekturę rozwoju LINQ do SQL

Preparat

1. Po pierwsze, potrzebujesz bazy danych i tabeli danych do przechowywania nazwy użytkownika i hasła osoby zalogowanej. Tutaj używa się bazy danych SQL Server 2005. Struktura tabeli bazy danych pokazana jest na Rysunku 2.

Rysunek 2 Tabela użytkowników bazy danych

2. Otwórz VS i stwórz nowy projekt ---> innych typach projektów---> rozwiązania Visual Studio---> puste rozwiązania. Jak pokazano na Rysunku 3. (Tutaj używa się Visual Studio 2008)


Rysunek 3 Stwórz puste rozwiązanie

3. Dodaj bibliotekę klas. Kliknij prawym przyciskiem myszy na nowo utworzone rozwiązanie w Eksploratorze rozwiązań---> ---> nowy projekt ---> bibliotekę klasową. Jak pokazano na Rysunku 4. Ta sama metoda wymaga dodania trzech bibliotek: BLL, DAL i DataLinq, oraz aplikacji Windows Forms (jeśli to aplikacja webowa, wybierz ASP.NET aplikacji webowej) i nazwania jej UI.


Rysunek 4 Dodaj projekt biblioteczny

Struktura po dodaniu jest przedstawiona na rysunku 5. Jednocześnie kliknij prawym przyciskiem myszy na UI i ustaw UI jako element startowy.


Rysunek 5 Diagram struktury projektu

Dodaj cytat

W Solution Explorer dodaj odwołania do każdego poziomu. Warstwa BLL Wybierz Referencje --->kliknij prawym przyciskiem ---> dodaj referencje. Jak pokazano na Rysunku 6. Dodaj odwołanie do System.Data.Linq. Jednocześnie, zgodnie z relacją między warstwami pokazanymi na Rysunku 1 powyżej, dodaj odniesienia do projektów do DAL i DataLinq. Podobnie warstwa DAL dodaje odniesienia do projektów do System.Data.Linq i DataLinq, warstwa DataLinq do System.Data.Linq, a warstwa UI dodaje odwołania do System.Data.Linq oraz odniesienia do projektów BLL i DataLinq.


Rysunek 6 Dodaj odniesienia do projektów

Jak dotąd ustanowiono architekturę trójpoziomową. Poniżej należy dodać odpowiadające im klasy do każdej warstwy.

1. Najpierw warstwa DataLinq. Kliknij prawym przyciskiem myszy DataLinq---> dodaj ---> nowy projekt---> wybierz klasę LINQ do SQL, jak pokazano na Rysunku 7.


Rysunek 7 Dodanie LINQ do klasy SQL

2. Po zakończeniu dodania automatycznie zostanie utworzony pusty projektant (plik .dbml) z linkiem do Server Explorer, a także powiązany plik dbml.layout (plik XML) i designer.cs plik. Otwórz Eksploratora Serwera i nawiąz link do bazy danych.


Rysunek 8 Open Server Explorer

3. Połącz się z bazą danych. Wybierz narzędzie ---> dodaj bazę danych. Jak pokazano na rysunku 9. Wybierz nowo utworzoną bazę danych i określ bazę połączeń. W tym momencie baza danych pojawi się w Eksploratorze serwerów.


4. Wybierz użytkownika tabeli danych, którego chcesz użyć, przeciągnij go i upuść na projektanta, jak pokazano na rysunku 10 poniżej. Zapisz plik. Obecnie klasy DataContext oraz klasy encji o powiązanych właściwościach, metodach i metodach zostały automatycznie wygenerowane.


Rysunek 10 Klasa użytkownika

Dodaj warstwy kodu

Warstwa DAL

Stwórz nową klasę UserDAL i dodaj poniższy kod

//UserDAL.cs

używając DataLinq;
używając System.Data.Linq;

przestrzeń nazw DAL
{
    klasa publiczna UserDAL
    {
        private DataLinq.DBLinqDataContext objDataContext = new DataLinq.DBLinqDataContext();

        publiczny User SelectRecordByID (string userid)
        {
            spróbuj
            {
                return (z u w objDataContext.User gdzie u.Id === userid select u). Single();
            }
            złapanie (Wyjątek ex)
            {
                Rzuć ex;
            }
        }
    }
}

Warstwa BLL

Stwórz nową klasę UserBLL i dodaj następujący kod

//UserBLL.cs

używając System.Data.Linq;
używając DataLinq;

przestrzeń nazw BLL
{
    klasa publiczna UserBLL
    {
        szeregowy DAL. UserDAL objUserDAL = nowy DAL. UserDAL();

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

Kod warstwy UI

//LoginForm.cs

szeregowy BLL. UserBLL objUserBLL = nowy 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 ("Sukces");
            }
            else
            {
                MessageBox.Show ("false");
            }
        }

W tym momencie kod interfejsu logowania jest ukończony. Możesz go uruchomić, żeby zobaczyć efekt.






Poprzedni:Jeśli masz już otwarty DataReader powiązany z tym poleceniem, musisz go najpierw zamknąć.
Następny:LINQ otrzymuje problem zwrotu procedury przechowywanej mojej procedury przechowywanej
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com