Представление — это объект, который содержит данные, полученные с помощью предварительно определенного запроса. Представление — это виртуальный объект или таблица, чей набор результатов получен из запроса. Это очень похоже на реальную таблицу, потому что она содержит столбцы и строки данных. Ниже приведены некоторые типичные виды использования —
- Фильтровать данные базовых таблиц
- Фильтрация данных в целях безопасности
- Централизуйте данные, распределенные по нескольким серверам
- Создать повторно используемый набор данных
Представления могут использоваться аналогичным образом, как и таблицы. Чтобы использовать представление как сущность, сначала вам нужно добавить представления базы данных в EDM. После добавления представлений к вашей модели вы можете работать с ней так же, как с обычными объектами, за исключением операций Create, Update и Delete.
Давайте посмотрим, как добавить виды в модель из базы данных.
Шаг 1 — Создайте новый проект консольного приложения.
Шаг 2 — Щелкните правой кнопкой мыши проект в обозревателе решений и выберите Добавить → Новый элемент.
Шаг 3 — Выберите ADO.NET Entity Data Model из средней панели и введите имя ViewModel в поле Имя.
Шаг 4 — Нажмите кнопку «Добавить», которая запустит диалоговое окно «Мастер модели данных объекта».
Шаг 5 — Выберите EF Designer из базы данных и нажмите кнопку Далее.
Шаг 6 — Выберите существующую базу данных и нажмите Далее.
Шаг 7 — Выберите Entity Framework 6.x и нажмите «Далее».
Шаг 8 — Выберите таблицы и представления из вашей базы данных и нажмите Готово.
В окне дизайнера вы можете увидеть, что представление создано, и вы можете использовать его в программе как объект.
В обозревателе решений вы можете видеть, что класс MyView также генерируется из базы данных.
Давайте рассмотрим пример, в котором все данные извлекаются из поля зрения. Ниже приведен код —
class Program { static void Main(string[] args) { using (var db = new UniContextEntities()) { var query = from b in db.MyViews orderby b.FirstMidName select b; Console.WriteLine("All student in the database:"); foreach (var item in query) { Console.WriteLine(item.FirstMidName + " " + item.LastName); } Console.WriteLine("Press any key to exit..."); Console.ReadKey(); } } }
Когда приведенный выше код будет выполнен, вы получите следующий вывод:
All student in the database: Ali Khan Arturo finand Bill Gates Carson Alexander Gytis Barzdukas Laura Norman Meredith Alonso Nino Olivetto Peggy Justice Yan Li Press any key to exit...
Мы рекомендуем выполнить вышеприведенный пример пошагово для лучшего понимания.