Entity Framework Core поддерживает доступ к множеству разных баз данных с использованием библиотек подключаемых модулей, которые называются поставщиками баз данных.
Текущие поставщики
Внимание
Поставщики EF Core поступают из самых разных источников. Не все поставщики поддерживаются в рамках проекта Microsoft Entity Framework Core. Выбирая поставщика, обязательно оцените качество, лицензирование, поддержку и другие показатели на соответствие вашим требованиям. Также обязательно ознакомьтесь подробными сведениями о совместимости версий, представленными в документации по каждому поставщику.
Внимание
Поставщики EF Core обычно не работают в основных версиях. Например, поставщик, выпущенный для EF Core 7, не будет работать с EF Core 8.
После установки настройка поставщика осуществляется в DbContext с использованием либо метода OnConfiguring, либо метода AddDbContext (если применяется контейнер внедрения зависимостей).
Например, в следующей строке настраивается поставщик SQL Server с использованием переданной строки подключения:
Поставщики баз данных позволяют расширить возможности EF Core, реализуя уникальные функции для конкретных баз данных. Некоторые концепции являются общими для большинства баз данных и включены в основной набор компонентов EF Core. К ним относятся выражение запросов с помощью LINQ, транзакции и отслеживание изменений объектов при их загрузке из базы данных.
Некоторые концепции характерны для определенного поставщика. Например, поставщик SQL Server позволяет настроить таблицы, оптимизированные для памяти (функция, относящаяся к SQL Server). Другие концепции характерны для класса поставщиков.
Например, поставщики EF Core для реляционных баз данных создаются в общей Microsoft.EntityFrameworkCore.Relational библиотеке, которая предоставляет API для настройки сопоставлений таблиц и столбцов, ограничений внешнего ключа и т. д. Поставщики обычно распределяются как пакеты NuGet.
Внимание
Выпускаемые исправления EF Core часто содержат обновления пакета Microsoft.EntityFrameworkCore.Relational.
При добавлении поставщика реляционной базы данных этот пакет становится транзитивной зависимостью вашего приложения.
Тем не менее многие поставщики выпускаются независимо от EF Core и могут не обновляться при выпуске новых исправлений этого пакета.
Чтобы гарантировать исправление всех обнаруженных ошибок, рекомендуется добавлять исправления Microsoft.EntityFrameworkCore.Relational в приложение в виде прямых зависимостей.
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.