Выбрать книгу по жанру
Фантастика и фэнтези
- Боевая фантастика
- Героическая фантастика
- Городское фэнтези
- Готический роман
- Детективная фантастика
- Ироническая фантастика
- Ироническое фэнтези
- Историческое фэнтези
- Киберпанк
- Космическая фантастика
- Космоопера
- ЛитРПГ
- Мистика
- Научная фантастика
- Ненаучная фантастика
- Попаданцы
- Постапокалипсис
- Сказочная фантастика
- Социально-философская фантастика
- Стимпанк
- Технофэнтези
- Ужасы и мистика
- Фантастика: прочее
- Фэнтези
- Эпическая фантастика
- Юмористическая фантастика
- Юмористическое фэнтези
- Альтернативная история
Детективы и триллеры
- Боевики
- Дамский детективный роман
- Иронические детективы
- Исторические детективы
- Классические детективы
- Криминальные детективы
- Крутой детектив
- Маньяки
- Медицинский триллер
- Политические детективы
- Полицейские детективы
- Прочие Детективы
- Триллеры
- Шпионские детективы
Проза
- Афоризмы
- Военная проза
- Историческая проза
- Классическая проза
- Контркультура
- Магический реализм
- Новелла
- Повесть
- Проза прочее
- Рассказ
- Роман
- Русская классическая проза
- Семейный роман/Семейная сага
- Сентиментальная проза
- Советская классическая проза
- Современная проза
- Эпистолярная проза
- Эссе, очерк, этюд, набросок
- Феерия
Любовные романы
- Исторические любовные романы
- Короткие любовные романы
- Любовно-фантастические романы
- Остросюжетные любовные романы
- Порно
- Прочие любовные романы
- Слеш
- Современные любовные романы
- Эротика
- Фемслеш
Приключения
- Вестерны
- Исторические приключения
- Морские приключения
- Приключения про индейцев
- Природа и животные
- Прочие приключения
- Путешествия и география
Детские
- Детская образовательная литература
- Детская проза
- Детская фантастика
- Детские остросюжетные
- Детские приключения
- Детские стихи
- Детский фольклор
- Книга-игра
- Прочая детская литература
- Сказки
Поэзия и драматургия
- Басни
- Верлибры
- Визуальная поэзия
- В стихах
- Драматургия
- Лирика
- Палиндромы
- Песенная поэзия
- Поэзия
- Экспериментальная поэзия
- Эпическая поэзия
Старинная литература
- Античная литература
- Древневосточная литература
- Древнерусская литература
- Европейская старинная литература
- Мифы. Легенды. Эпос
- Прочая старинная литература
Научно-образовательная
- Альтернативная медицина
- Астрономия и космос
- Биология
- Биофизика
- Биохимия
- Ботаника
- Ветеринария
- Военная история
- Геология и география
- Государство и право
- Детская психология
- Зоология
- Иностранные языки
- История
- Культурология
- Литературоведение
- Математика
- Медицина
- Обществознание
- Органическая химия
- Педагогика
- Политика
- Прочая научная литература
- Психология
- Психотерапия и консультирование
- Религиоведение
- Рефераты
- Секс и семейная психология
- Технические науки
- Учебники
- Физика
- Физическая химия
- Философия
- Химия
- Шпаргалки
- Экология
- Юриспруденция
- Языкознание
- Аналитическая химия
Компьютеры и интернет
- Базы данных
- Интернет
- Компьютерное «железо»
- ОС и сети
- Программирование
- Программное обеспечение
- Прочая компьютерная литература
Справочная литература
Документальная литература
- Биографии и мемуары
- Военная документалистика
- Искусство и Дизайн
- Критика
- Научпоп
- Прочая документальная литература
- Публицистика
Религия и духовность
- Астрология
- Индуизм
- Православие
- Протестантизм
- Прочая религиозная литература
- Религия
- Самосовершенствование
- Христианство
- Эзотерика
- Язычество
- Хиромантия
Юмор
Дом и семья
- Домашние животные
- Здоровье и красота
- Кулинария
- Прочее домоводство
- Развлечения
- Сад и огород
- Сделай сам
- Спорт
- Хобби и ремесла
- Эротика и секс
Деловая литература
- Банковское дело
- Внешнеэкономическая деятельность
- Деловая литература
- Делопроизводство
- Корпоративная культура
- Личные финансы
- Малый бизнес
- Маркетинг, PR, реклама
- О бизнесе популярно
- Поиск работы, карьера
- Торговля
- Управление, подбор персонала
- Ценные бумаги, инвестиции
- Экономика
Жанр не определен
Техника
Прочее
Драматургия
Фольклор
Военное дело
Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю - Страница 407
При работе с ADO.NET вы всегда обязаны помнить о физической структуре серверной базы данных. Вы должны знать схему каждой таблицы данных, создавать потенциально сложные запросы SQL для взаимодействия с таблицей (таблицами) данных, отслеживать изменения в извлеченных (или добавленных) данных и т.д. В итоге вы можете быть вынуждены записывать довольно многословный код С#, поскольку сам язык C# не позволяет работать непосредственно со схемой базы данных.
Хуже того, обычный способ создания физической базы данных прямо сосредоточен на конструкциях базы данных, таких как внешние ключи, представления, хранимые процедуры и нормализация данных, а не на объектно-ориентированном программировании.
Еще одним вопросом у разработчиков приложений, требующим решения, является отслеживание изменений. Получение данных из базы — один из этапов процесса, но любые изменения, добавления и/или удаления должны отслеживаться разработчиком, чтобы их можно было сохранить в хранилище данных.
Доступность инфраструктур объектно-реляционного отображения (object-relation-al mapping — ORM) в .NET значительно улучшила ситуацию с доступом к данным, управляя вместо разработчика большинством задач создания, чтения, обновления и удаления (
На заметку! Важно помнить, что инфраструктуры ORM не являются инструментами, которые с легкостью решат все проблемы.С каждым решением связаны компромиссы. Инфраструктуры ORM сокращают объем работы разработчикам, создающим уровни доступа к данным, но могут также привносить проблемы с производительностью и масштабированием в случае ненадлежащего применения. Используйте инфраструктуры ORM для операций CRUD и задействуйте мощь своей базы данных для операций, основанных на множествах.
Хотя разные инфраструктуры ORM имеют небольшие отличия в том, как они работают, или каким образом применяются, все они по существу представляют собой одни и те же фрагменты и части, преследующие ту же самую цель — облегчить выполнение операций доступ к данным. Сущности являются классами, которые отображаются на таблицы базы данных. Специализированный тип коллекции содержит одну или большее количество сущностей. Механизм отслеживания изменений следит за состоянием объектов и любыми связанными с ними изменениями, добавлениями и/или удалениями, а центральная конструкция управляет операциями как руководитель.
Роль Entity Framework Core
"За кулисами" EF Core использует инфраструктуру ADO.NET, которая уже была исследована в предыдущей главе. Подобно любому взаимодействию ADO.NET с хранилищем данных EF Core применяет для этого поставщик данных ADO.NET. Прежде чем поставщик данных ADO.NET можно будет использовать в EF Core, его потребуется обновить для полной интеграции с EF Core. Из-за такой добавленной функциональности доступных поставщиков данных EF Core может оказаться меньше, чем поставщиков данных ADO.NET.
Преимущество инфраструктуры EF Core, применяющей шаблон поставщиков баз данных ADO.NET, заключается в том, что она позволяет объединять в одном проекте парадигмы доступа к данным EF Core и ADO.NET, расширяя ваши возможности. Например, в случае использования EF Core с целью предоставления подключения, схемы и имени таблицы для операций массового копирования задействуются возможности сопоставления EF Core и функциональность программы массового копирования, встроенная в ADO.NET. Такой смешанный подход делает EF Core просто еще одним инструментом в вашем арсенале.
(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})Когда вы оцените объем связующего кода для базового доступа к данным, поддерживаемый инфраструктурой EF Core в согласованной и эффективной манере, по всей видимости, она станет вашим основным механизмом при доступе к данным.
На заметку! Многие сторонние СУБД (скажем, Oracle и MySQL) предлагают поставщики данных, осведомленные об инфраструктуре EF Core. Если вы имеете дело не с SQL Server, тогда обратитесь за детальными сведениями к разработчику СУБД или ознакомьтесь с перечнем доступных поставщиков данных EF Core по ссылке
Инфраструктура EF Core лучше всего вписывается в процесс разработки в случае применения подходов в стиле "формы поверх данных" (или "API-интерфейс поверх данных"). Оптимальными для EF Core являются операции над небольшим количеством сущностей, использующие шаблон единицы работы с целью обеспечения согласованности. Она не очень хорошо подходит для выполнения крупномасштабных операций над данными вроде тех, что встречаются приложениях хранилищ данных типа "извлечение, трансформация, загрузка" (extract-transform-load — ETL) или в больших системах построения отчетов.
Строительные блоки Entity Framework Core
К главным компонентам EF Core относятся
Класс DbContext
Класс
- Предыдущая
- 407/642
- Следующая

