Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Этот поставщик базы данных позволяет Entity Framework Core использовать с Microsoft SQL Server (включая AZURE SQL и Azure Synapse Analytics). Поставщик поддерживается в рамках Проекта Entity Framework Core.
Установить
Установите пакет NuGet Microsoft.EntityFrameworkCore.SqlServer .
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
Заметка
Поставщик ссылается на Microsoft.Data.SqlClient (не System.Data.SqlClient). Если проект принимает прямую зависимость от SqlClient, убедитесь, что он ссылается на пакет Microsoft.Data.SqlClient.
Совет
Пакет Microsoft.Data.SqlClient выпускается чаще, чем поставщик EF Core. Если вы хотите воспользоваться преимуществами новых функций и исправлений ошибок, вы можете добавить прямую ссылку на пакет в последнюю версию Microsoft.Data.SqlClient.
Предупреждение
Асинхронная реализация Microsoft.Data.SqlClient, к сожалению, имеет некоторые известные проблемы (например, #593, #601и другие). Если возникают непредвиденные проблемы с производительностью, попробуйте использовать выполнение команды синхронизации, особенно при работе с большим текстом или двоичными значениями.
Употребление
Начиная с EF 9, рекомендуется использовать UseAzureSql
и UseAzureSynapse
, чтобы указать, что вы подключаетесь к AZURE SQL или Azure Synapse Analytics, а также UseSqlServer
, чтобы указать, что вы подключаетесь к локальному SQL Server; это позволяет поставщику оптимизировать и правильно поддерживать эти платформы. Также рекомендуется использовать метод UseCompatibilityLevel
для указания уровня совместимости, чтобы созданный SQL был совместим и (или) использовать последние возможные функции.
Заметка
Методы UseAzureSql и UseAzureSynapse появились в EF Core 9.0.
РазрешитьПовторноеПовторениеПоУмолчанию
В EF 9 появился EnableRetryOnFailureByDefault
метод, который настраивает контекст для стратегии выполнения по умолчанию, если она не настроена явно (т. е. при использовании DI). Чтобы использовать его, просто вызовите ConfigureSqlEngine(c => c.EnableRetryOnFailureByDefault())
, а затем можете использовать UseSqlServer
как обычно. Нет необходимости вызывать EnableRetryOnFailureByDefault
, при использовании UseAzureSql
или UseAzureSynapse
, так как они уже включают стратегию выполнения по умолчанию.
Поддерживаемые ядра СУБД
- Microsoft SQL Server (2012 на более поздних версиях)
- Azure SQL
- Azure Synapse Analytics