Читаем Язык программирования C#9 и платформа .NET5 полностью

  Console.WriteLine("CarId\tMake\tColor\tPet Name");

  foreach (var itm in list)

  {

    Console.WriteLine(

      $"{itm.Id}\t{itm.Make}\t{itm.Color}\t{itm.PetName}");

  }

  Console.WriteLine;

}


Хотя добавление четырех новых объектов Car не показывает достоинства работы, связанной с применением класса SqlBulkCopy, вообразите себе попытку загрузки тысяч записей. Мы проделывали подобное с таблицей Customers, и время загрузки составляло считанные секунды, тогда как проход в цикле по всем записям занимал часы! Как и все в .NET Core, класс SqlBulkCopy — просто еще один инструмент, который должен находиться в вашем инструментальном наборе и использоваться в ситуациях, когда в этом есть смысл.

Резюме

Инфраструктура ADO.NET представляет собой собственную технологию доступа к данным платформы .NET Core. В настоящей главе было начато исследование роли поставщиков данных, которые по существу являются конкретными реализациями нескольких абстрактных базовых классов (из пространства имен System.Data.Common) и интерфейсных типов (из пространства имен System.Data). Вы видели, что с применением модели фабрики поставщиков данных ADO.NET можно построить кодовую базу, не зависящую от поставщика.

Вы также узнали, что с помощью объектов подключений, объектов транзакций, объектов команд и объектов чтения данных можно выбирать, обновлять, вставлять и удалять записи. Кроме того, было показано, что объекты команд поддерживают внутреннюю коллекцию параметров, которые можно использовать для обеспечения безопасности к типам в запросах SQL; они также удобны при запуске хранимых процедур.

Наконец, вы научились защищать код манипулирования данными с помощью транзакций и ознакомились с применением класса SqlBulkCopy для загрузки крупных объемов данных в базы данных SQL Server, используя ADO.NET.

Часть VII

Entity Framework Core

Глава 22

Введение в Entity Framework Core

В предыдущей главе были исследованы основы ADO.NET. Инфраструктура ADO.NET позволяет программистам приложений .NET (относительно прямолинейно) работать с реляционными данными, начиная с выхода первоначальной версии платформы .NET В пакете обновлений .NET 3.5 Service Pack 1 компания Microsoft предложила новый компонент API-интерфейса ADO.NET под названием Entity Framework (EF).

Общая цель EF — предоставить возможность взаимодействия с данными из реляционных баз данных с использованием объектной модели, которая отображается напрямую на бизнес-объекты (или объекты предметной области) в создаваемом приложении. Например, вместо того, чтобы трактовать пакет данных как коллекцию строк и столбцов, вы можете оперировать с коллекцией строго типизированных объектов, называемых сущностями. Такие сущности хранятся в специализированных классах коллекций, поддерживающих LINQ, что позволяет выполнять операции доступа к данным в коде С#. Классы коллекций обеспечивают средства запрашивания хранилища данных с применением той же грамматики LINQ, которая была раскрыта в главе 13.

Подобно .NET Core инфраструктура Entity Framework Core представляет собой полностью переписанную инфраструктуру Entity Framework 6. Она построена на основе .NET Core, давая возможность инфраструктуре EF Core функционировать на множестве платформ. Переписывание EF Core позволило добавить к EF Core новые средства и улучшения в плане производительности, которые не получилось бы разумно реализовать в EF 6.

Воссоздание целой инфраструктуры с нуля требует внимательного анализа того, какие средства будут поддерживаться новой инфраструктурой, а от каких придется отказаться. Одним из средств EF 6, которые отсутствуют в EF Core (и вряд ли когда-либо будут добавлены), является поддержка визуального конструктора сущностей (Entity Designer). В EF Core поддерживается парадигма разработки "сначала код". Если вы уже имели дело с упомянутой парадигмой, тогда можете проигнорировать приведенное предостережение.


На заметку! Инфраструктуру EF Core можно использовать с существующими базами данных, а также с пустыми и/или новыми базами данных. Оба механизма называют парадигмой "сначала код", что вероятно нельзя считать самым удачным наименованием. Шаблоны сущностных классов и классов, производных от DbContext, могут быть созданы из существующей базы данных, а базы данных могут создаваться и обновляться из сущностных классов. В главах, посвященных EF Core, вы изучите оба подхода.


Перейти на страницу:

Похожие книги

Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьёрн Страуструп , Ирина Сергеевна Козлова , Бьерн Страуструп , Валерий Федорович Альмухаметов

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT
97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Нил Форд , Билл де Ора , Майкл Хайгард

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT