Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 17061|Ответ: 0

[ASP.NET] Основываясь на. Разработка трёхуровневой архитектуры .LINQ в SQL

[Скопировать ссылку]
Опубликовано 08.05.2015 15:47:22 | | | |

Чепуха, написанная спереди

Основываясь на. Трёхуровневая архитектура .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 Web application) и название его UI.


Рисунок 4 Добавить библиотечный проект

Структура после сложения показана на рисунке 5. В то же время кликните правой кнопкой мыши по интерфейсу и установите его как элемент запуска.


Рисунок 5 Схема структуры проекта

Добавьте цитату

В Solution Explorer добавляйте ссылки на каждый уровень. Слой BLL выберите ссылки --->правой кнопкой мыши ---> добавления ссылок. Как показано на рисунке 6. Добавить ссылку на System.Data.Linq. В то же время, согласно взаимосвязи между слоями, показанными на рисунке 1 выше, добавьте ссылки на проекты в DAL и DataLinq. Аналогично, слой DAL добавляет ссылки на проекты в System.Data.Linq и DataLinq, слой DataLinq добавляет ссылки в System.Data.Linq, а узельный интерфейс — ссылки на System.Data.Linq и проекты на BLL и DataLinq.


Рисунок 6 Добавить ссылки на проекты

На данный момент сформирована трёхуровневая архитектура. Далее следует добавить соответствующие классы к каждому слою.

1. Во-первых, слой DataLinq. Правой кнопкой мыши по DataLinq---> добавить ---> новый проект---> выбрать класс LINQ в SQL, как показано на рисунке 7.


Рисунок 7 Добавление LINQ в класс SQL

2. После завершения добавления автоматически будет создан пустой дизайнер (файл .dbml) с ссылкой на Проводник серверов, а также соответствующий файл dbml.layout (XML-файл) и designer.cs файл. Откройте Server Explorer и установите связь с базой данных.


Рисунок 8 Открытый браузер серверов

3. Подключитесь к базе данных. Выберите инструмент ---> добавить базу данных. Как показано на рисунке 9. Выберите новую базу данных и определите базу данных соединений. На этом этапе база данных появится в Server Explorer.


4. Выберите таблицу данных, которую вы хотите использовать, перетащите её на дизайнера, как показано на рисунке 10 ниже. Сохраните файл. Теперь классы DataContext и классы сущностей с соответствующими свойствами, методами и методами были автоматически сгенерированы.


Рисунок 10 Класс пользователя

Добавьте слои кода

Уровень DAL

Создайте новый класс UserDAL и добавьте следующий код

//UserDAL.cs

с использованием DataLinq;
с использованием System.Data.Linq;

Пространство имён DAL
{
    публичный класс UserDAL
    {
        private DataLinq.DBLinqDataContext objDataContext = новый DataLinq.DBLinqDataContext();

        публичный User SelectRecordByID(userid строки)
        {
            Попробуй
            {
                return (от u в objDataContext.User, где u.Id == userid select u). Сингл();
            }
            catch (исключение, например)
            {
                брось бывшего;
            }
        }
    }
}

Слой BLL

Создайте новый класс UserBLL и добавьте следующий код

//UserBLL.cs

с использованием System.Data.Linq;
с использованием DataLinq;

Пространство имён BLL
{
    публичный класс UserBLL
    {
        рядовой DAL. UserDAL objUserDAL = новый DAL. UserDAL();

        публичный User 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 («ложь»);
            }
        }

На этом этапе код интерфейса входа завершён. Можно запустить его, чтобы увидеть эффект.






Предыдущий:Если у вас уже есть открытый DataReader, связанный с этой командой, сначала его нужно закрыть.
Следующий:LINQ получает проблему возврата значения хранённой процедуры, моей сохранённой процедуре
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com