|
Глупости, написани отпред Въз основа на. Тристепенната архитектура на .NET може да се раздели на следните слоеве: слой Data Linq, слой за достъп до данни, слой бизнес логика и слой за презентация. Стрелковите символи на Фигура 1 по-долу илюстрират взаимодействието между слоевете: слоят за достъп до данни препраща към слоя Data LINQ; Бизнес логическият слой се позовава на слоя за достъп до данни и класовете на обекти в слоя Data LINQ. Презентационният слой се отнася както до слоя бизнес логика, така и до класовете на обекти в слоя Data LINQ. Слоят Data LINQ основно включва класове на обекти и класове на контекст на данни. Обикновено клас на обекти е за една таблица в базата данни. Можем да създаваме инстанции на класове на обекти, които се прехвърлят между различни слоеве като обекти с данни.
Фигура 1 Трислойна архитектура LINQ to SQL Следва пример за прозореца за вход при създаване на проект за въвеждане на тристепенната архитектура на LINQ към SQL Подготовка 1. Първо, трябва ви база данни и таблица с данни, за да съхранявате потребителското име и паролата на влязълия човек. Тук се използва база данни SQL Server 2005. Структурата на таблицата на базата данни е показана на Фигура 2.
Фигура 2 Потребителска таблица на база данни 2. Отворете VS и създайте нов проект ---> други типове проекти---> Visual Studio решения---> празни решения. Както е показано на Фигура 3. (Тук се използва Visual Studio 2008)
Фигура 3 Създаване на празно решение 3. Добавете библиотека с класове. Кликнете с десен бутон върху новосъздаденото решение в Solution Explorer ---> добавите ---> нова библиотека с проект ---> клас. Както е показано на Фигура 4. Същият метод изисква добавяне на три библиотеки – BLL, DAL и DataLinq, както и приложение за Windows Forms (ако е уеб разработка на приложения, изберете ASP.NET уеб приложение) и го наименувате с UI.
Фигура 4 Добавете библиотечен проект Структурата след добавянето е показана на Фигура 5. В същото време кликнете с десен бутон върху интерфейса и задайте UI като елемент за стартиране.
Фигура 5 Диаграма на структурата на проекта Добави цитат В Solution Explorer добавете препратки към всяко ниво. BLL слой: Изберете референции --->десен бутон ---> добавяте препратки. Както е показано на Фигура 6. Добавете препратка към System.Data.Linq. В същото време, според връзката между слоевете, показани на Фигура 1 по-горе, добавете препратки към проекти към DAL и DataLinq. По същия начин слоят DAL добавя препратки към проекти към System.Data.Linq и DataLinq, слоят DataLinq добавя препратки към System.Data.Linq, а UI слоят добавя препратки към System.Data.Linq и препратки към BLL и DataLinq.
Фигура 6 Добавете препратки към проекти До момента е установена тристепенна архитектура. Следва добавяне на съответните им класове към всеки слой. 1. Първо, слоят DataLinq. Кликнете с десния бутон DataLinq---> добавете ---> нов проект---> изберете класа LINQ към SQL, както е показано на Фигура 7.
Фигура 7 Добавяне на LINQ към SQL клас 2. След завършване на добавянето, автоматично ще се създаде празен дизайнер (.dbml файл) с линк към Server Explorer, както и съответния dbml.layout файл (XML файл) и designer.cs файл. Отворете Server Explorer и установете връзка към базата данни.
Фигура 8 Открит изследовател на сървъри 3. Свържете се с базата данни. Изберете инструмента ---> добавите база данни. Както е показано на Фигура 9. Изберете новосъздадената база данни и определете базата данни с връзки. В този момент базата данни ще се появи в Server Explorer.
4. Изберете таблицата с данни, която искате да използвате, плъзнете и пуснете я върху дизайнера, както е показано на Фигура 10 по-долу. Запази файла. Сега DataContext класовете и класовете на обекти със сродни свойства, методи и методи са автоматично генерирани.
Фигура 10 Потребителски клас Добавете слоеве код DAL слой Създайте нов UserDAL клас и добавете следния код //UserDAL.cs използване на DataLinq; използвайки System.Data.Linq;
Namespace DAL
{ публичен клас UserDAL { private DataLinq.DBLinqDataContext objDataContext = new DataLinq.DBLinqDataContext();
публичен потребител SelectRecordByID(userid на низ) { Опитай { return (от u в objDataContext.User където u.Id == userid select u). Сингъл(); } catch (Изключение напр.) { хвърли бивши; } } }
}
BLL слой Създайте нов UserBLL клас и добавете следния код //UserBLL.cs използвайки System.Data.Linq; използване на DataLinq;
Namespace BLL
{ публичен клас UserBLL { частен DAL. UserDAL objUserDAL = нов DAL. UserDAL();
публичен потребител SelectRecordByID(userid на низ) { return objUserDAL.SelectRecordByID(userid); } }
}
Код на UI слоя //LoginForm.cs частен BLL. UserBLL objUserBLL = нов 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);
ако (localDataTable != null && localDataTable.Psd == psd) { MessageBox.Show ("Успех"); } Друго { MessageBox.Show ("невярно"); } }
В този момент кодът за интерфейса за вход е завършен. Можеш да го пуснеш, за да видиш ефекта.
|