EFCore数据库提供程序


EFCore数据库提供程序

Entity Framework Core 可通过名为数据库提供程序的插件库访问许多不同的数据库。

当前提供程序

 重要

EF Core 提供程序由多种源生成。 并非所有提供程序均作为 Entity Framework Core 项目的组成部分进行维护。 考虑使用提供程序时,请务必评估质量、授权、支持等因素,确保其满足要求。 同时也请务必查看每个提供程序的文档,详细了解版本兼容性信息。

 重要

EF Core 提供程序通常跨次要版本工作,但不跨主要版本工作。 例如,针对 EF Core 2.1 发布的提供程序应用于 EF Core 2.2,但不适用于 EF Core 3.0。

 

Nuget程序包支持的数据库引擎维护商/供应商备注/要求专为版本构建有用的链接
Microsoft.EntityFrameworkCore.SqlServerSQL Server 2012 以上版本EF Core 项目 (Microsoft) 6.0docs
Microsoft.EntityFrameworkCore.SqliteSQLite 3.7 及以上版本EF Core 项目 (Microsoft) 6.0docs
Microsoft.EntityFrameworkCore.InMemoryEF Core 内存中数据库EF Core 项目 (Microsoft)限制6.0docs
Microsoft.EntityFrameworkCore.CosmosAzure Cosmos DB SQL APIEF Core 项目 (Microsoft) 6.0docs
Npgsql.EntityFrameworkCore.PostgreSQLpostgresqlNpgsql 开发团队 6.0docs
Pomelo.EntityFrameworkCore.MySqlMySQL、MariaDBPomelo Foundation 项目 6.0自述文件
MySql.EntityFrameworkCoreMySQLMySQL 项目 (Oracle) 5.0docs
Oracle.EntityFrameworkCoreOracle DB 11.2 及更高版本Oracle 5.0网站
Devart.Data.MySql.EFCoreMySQL 5 及以上版本DevArt已付5.0docs
Devart.Data.Oracle.EFCoreOracle DB 9.2.0.4 及更高版本DevArt已付5.0docs
Devart.Data.PostgreSql.EFCorePostgreSQL 8.0 及以上版本DevArt已付5.0docs
Devart.Data.SQLite.EFCoreSQLite 3 及以上版本DevArt已付5.0docs
FirebirdSql.EntityFrameworkCore.FirebirdFirebird 3.0 及以上版本Jiří Činčura 5.0docs
IBM.EntityFrameworkCoreDb2、InformixIBM付费,Windows5.0入门
IBM.EntityFrameworkCore-lnxDb2、InformixIBM付费,Linux5.0入门
IBM.EntityFrameworkCore-osxDb2、InformixIBM付费,macOS5.0入门
EntityFrameworkCore.JetMicrosoft Access 文件Bubi 3.1自述文件
Teradata.EntityFrameworkCoreTeradata 数据库 16.10 及更高版本Teradata 3.1网站
Google.Cloud.EntityFrameworkCore.SpannerGoogle Cloud SpannerCloud Spanner 生态系统当前提供预览版3.1教程
FileContextCore在文件中存储数据Morris Janatzek用于开发3.0自述文件
EntityFrameworkCore.SqlServerCompact35SQL Server Compact 3.5Erik Ejlskov Jensen.NET Framework2.2wiki
EntityFrameworkCore.SqlServerCompact40SQL Server Compact 4.0Erik Ejlskov Jensen.NET Framework2.2wiki
EntityFrameworkCore.OpenEdgeProgress OpenEdgeAlex Wiese 2.1自述文件

向应用程序添加数据库提供程序

EF Core 的大多数数据库提供程序都是作为 NuGet 包分发的,可按如下所示安装:

PowerShell 全选
install-package provider_package_name

安装后,需采用 OnConfiguring 方法或 AddDbContext 方法(如果使用的是依赖关系注入容器)在 DbContext 中配置提供程序。 例如,以下行使用传递的连接字符串配置 SQL Server 提供程序:

C# 全选
optionsBuilder.UseSqlServer(
    "Server=(localdb)\mssqllocaldb;Database=MyDatabase;Trusted_Connection=True;");

数据库提供程序可扩展 EF Core,启用特定数据库特有的功能。 一些概念为大多数据库共有,它们包含于 EF Core 主要组件中。 此类概念包括 LINQ 中的表达查询、事务以及对象从数据库加载后的跟踪更改。 另一些概念特定于具体的提供程序。 例如,通过 SQL Server 提供程序可配置内存优化表(SQL Server 的一种特定功能)。 其他一些概念特定于某一类提供程序。 例如,用于关系数据库的 EF Core 提供程序构建于公共 Microsoft.EntityFrameworkCore.Relational 库上,该库提供的 API 可用于配置表和列映射、外键约束等。提供程序通常作为 NuGet 包分发。

 重要

发布 EF Core 的新补丁版本时,其中通常包含 Microsoft.EntityFrameworkCore.Relational 包的更新。 添加关系数据库提供程序时,该包将成为应用程序的传递依赖项。 但许多提供程序是独立于 EF Core 发布的,因此可能不会更新为依赖该包的较新补丁版本。 为确保能修复所有 bug,建议将 Microsoft.EntityFrameworkCore.Relational 补丁版本添加为应用程序的直接依赖项。

 

参考链接:https://docs.microsoft.com/zh-cn/ef/core/providers/?tabs=vs

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
管理员
上一篇:C# 数据库连接字符串Microsoft.Data.Sqlite数据库连接
下一篇:Nuget包增加输出目录targets配置
评论列表

发表评论

评论内容
昵称:
关联文章

EFCore数据库提供程序
JOC.EFCore使用
EFCore官方扩展库
EFCore链接数据库报错
未在本地计算机上注册"Microsoft.ACE.OLEDB.12.0"提供程序
EFCore分组查询Group使用
Python使用SQL Server数据库
C#安全帮助类,提供MD5,AES加解密,SHA-1加密等
初始化配置-数据库配置
EFCore生成实体带上注释
MYSQL数据库连接工具: DBeaver 与 Navicat
Xamarin.Forms 复制本地SQLite数据库
数据库或者其他位置加载ASP.NET MVC Views 视图 数据库中加载 cshtml
C# 数据库连接字符串Microsoft.Data.Sqlite数据库连接
程序测试
.NET Core定时任务(控制台程序
EFCore DbContext扩展执行原生SQL查询对象集合
SQL Server 数据库安全之角色
使用.NET 6开发TodoList应用(28)——实现应用程序健康检查
VS制作C#程序windows安装程序

联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码