写点什么

EF Core 数据库 Provider 一览

  • 2019-01-07
  • 本文字数:1920 字

    阅读完需:约 6 分钟

EF Core数据库Provider一览

当 EF Core 1.x 系列和 2.0 版本之间经过重大的重写时,所有 EF Core 数据库 Provider 都受到重创。从那时起,各种私人和商业开发团队一直在努力填补这个空白。

正文

当 EF Core 1.x 系列和 2.0 版本之间经过重大的重写时,所有 EF Core 数据库 Provider 都受到重创。从那时起,各种私人和商业开发团队一直在努力填补这个空白。


在本文中,我们只关注生产就绪的EF Core数据库Provider。那些仍处于预览或预发布状态的 Provider 将在以后的文章中介绍。

SQL Server

SQL Server 自然是由微软提供的,不过限制是仅适用于 SQL Server 2008 及更高版本。


对于 SQL Server 2000 和 2005,你可以使用原始的 Entity Framework。不过,这些版本不再受支持,所以不应继续在生产环境中使用。

PostgreSQL

在.NET 中访问 PostgreSQL 的事实标准是Npgsql驱动程序和 EF Core 数据库 Provider,不过它们并不是唯一的选择。


Devart 为 PostgreSQL 提供了一个叫作dotConnect的商业版 Provider。这项产品的宣传语如下所示:


用于 PostgreSQL 的 dotConnect 提供了与 PostgreSQL 数据库的高性能连接以及很多创新的开发工具和技术。它支持 PostgreSQL 的大量特定功能,例如 SSL 连接、PostgreSQL 通知、PostgreSQL 批量数据加载、GEOMETRY、PostgreSQL ARRAY 类型,等等。


除了 ADO.NET 驱动程序,“dotConnect还支持ADO.NET Entity Framework、NHibernate 和 LinqConnect(以前是 LINQ to PostgreSQL)”。最后一个是基于微软的 LINQ to SQL ORM。

SQLite

微软的SQLite Provider是基于SQLitePCL的,SQLitePCL 是 SQLite 的一个实现,一个“可移植的类库”框架。PCL 是.NET 标准的前身和子集。需要注意的是,这与SQLite官方的.NET标准驱动程序是相互独立的。当微软在实现 SQLite 数据库 Provider 时,这些官方驱动程序还不可用。


如果你认为微软的驱动程序还不够高效,Devart 也提供了一个SQLite驱动程序和EF Provider

MySQL

一些团队提供了 MySQL 数据 Provider,首当其冲的是Oracle提供的官方MySQL Provider


它的问题是底层的 MySQL 数据库驱动程序声誉不好。虽然是开源的,但它采用的是 GPLv2 许可,GPLv2 是一个相当严格的许可,在.NET 社区中并不常见。但真正的问题是 Oracle 的 MySQL 驱动程序不支持异步调用。根据 MySqlConnector 团队透露,它只是使用了其他线程来执行同步 I/O。


因此,这个团队从头开始创建MySqlConnector。它是异步的,并采用了 MIT 许可。Pomelo Foundation的EF Core MySQL数据库Provider就是基于 MySqlConnector 构建的。


同样,Devart 提供了 MySQL 数据库驱动程序和 EF Core Provider。它们的独特功能包括“特定于 MySQL 的功能,如 SSL 和 SSH 连接、嵌入式服务器、压缩协议、HTTP 通道,等等”。

Firebird

Firebird 数据库在.NET 社区中并没有得到很多关注,但它已经存在了很长时间。它最初是基于 Borland 的开源版 InterBase,但大部分代码在过去 19 年中被重写过。


除了官方提供的 Firebird 数据库 Provider 外,Rafael Almeida 还提供了EntityFrameworkCore.FirebirdSql,它与 Firebird 2.x 数据库兼容。

Progress OpenEdge

微软正在更新 EF Core Provider 列表。Alex Wiese 最近推出的Progress OpenEdge EF Core Provider也才一个月左右。

微软 Access

对微软 Access 的支持主要来自一个意大利人(被称为 bubibubi)。他提供的库叫作EntityFrameworkCore.Jet仅适用于.NET Framework。


之所以有这种限制,是因为OleDB不支持.NET Core,即使是在 Windows 上运行。这可能会在未来发生变化,因为很多WinForms和WPF应用程序无法在没有OleDB的情况下移植到.NET Core。除 Access 之外,很多应用程序使用 OleDB 驱动程序来读取 Excel 文件。

SQL Server Compact

自 2013 年以来,SQL Server Compact 已被弃用,并被 SQLite 取代,但很多应用程序仍然有一些数据保存在 SQL Server Compact 中。如果你是这种情况,可以考虑使用 Erik Ejlskov Jensen 提供的SQL Server Compact EF Core数据库Provider


由于 SQL Server Compact 及其底层驱动程序的设计,它仅适用于.NET Framework。

DB2

来自 IBM 的强大但很少被谈及的数据库 DB2,针对 Windows、Linux 和 OSX 平台都需要单独的库。这三个库都直接由 IBM 提供。

Oracle

Oracle最初打算在2017年末对微软.NET Core 托管的 ODP.NET 驱动程序进行认证。该计划于 2017 年 3 月公布,仅针对.NET Core 2.0。该计划于 2018 年 2 月进行了修订,预计将于 2018 年第 3 季度发布。由于错过了第二个截止日期,Oracle 尚未公开讨论其修订计划。


Devart 提供了一个商业版的Oracle数据库驱动程序和EF Core Provider


查看英文原文https://www.infoq.com/news/2019/01/EF-Core-Providers


2019-01-07 10:457005
用户头像

发布了 731 篇内容, 共 454.0 次阅读, 收获喜欢 2003 次。

关注

评论

发布
暂无评论
发现更多内容

【专访阿里云】云智融合转型期,国产服务器操作系统路在何方?

OpenAnolis小助手

阿里云 操作系统 国产操作系统 龙蜥社区

【专访英特尔】软硬结合,共赴服务器操作系统的云智未来

OpenAnolis小助手

AI 操作系统 国产操作系统 intel 龙蜥社区

院士专家任高级顾问,龙蜥生态日见成熟

OpenAnolis小助手

操作系统 国产操作系统 龙蜥社区

15 万奖金!开放原子开源大赛 OpenAnolis -云原生赛题报名开始

OpenAnolis小助手

操作系统 国产操作系统 龙蜥社区 龙蜥赛题

[每日秒懂] 持续交付2.0

dinstone

持续交付 双环模型 科学探索-快速验证

2023年度优秀贡献者名单正式公布!恭喜 36 个团队/个人、30+企业上榜

OpenAnolis小助手

龙蜥社区

PMO 总监干货分享:Jira Cloud 驱动项目管理创新

跟YY哥学Jira

项目管理 Jira Cloud PMO 协作

一文读懂Partisia区块链的MOCCA 方案:让资产管理可信且可编程

加密眼界

群擎并举,众芯共魂,龙蜥重磅首发下一代操作系统“1+3”能力模型

OpenAnolis小助手

操作系统 国产操作系统 龙蜥社区 2023龙蜥操作系统大会

C++ 编程入门指南:深入了解 C++ 语言及其应用领域

小万哥

程序人生 编程语言 软件工程 C/C++ 后端开发

根基已筑!Anolis OS 23.1 预览版本搭载 Linux 6.6 内核和工具链升级完成

OpenAnolis小助手

操作系统 国产操作系统 龙蜥社区 龙蜥产品发布 Anolis OS

2023年回顾| 龙蜥这一年:群擎并举,众芯共魂

OpenAnolis小助手

操作系统 国产操作系统 龙蜥社区

开始报名,赢取丰厚奖金!2024 大学生操作系统赛—龙蜥赛题等你来挑战

OpenAnolis小助手

龙蜥赛题

2023 年龙蜥社区最佳合作伙伴出炉,统信软件、中兴通讯、浪潮信息等 17 家厂商上榜

OpenAnolis小助手

龙蜥社区

重构大面积if-else代码

廊虞

Java 设计模式 策略模式

LC串联谐振拓扑仿真建模

芯动大师

控制 电源 LC电路

Sora小白教程一文通,如何使用Sora?

蓉蓉

openai sora

龙蜥开发者说:一个人出发,一群人抵达 | 第 26 期

OpenAnolis小助手

龙蜥社区 龙蜥开发者说

中兴通讯携手龙蜥社区,共创繁荣生态 | 2023龙蜥操作系统大会

OpenAnolis小助手

操作系统 国产操作系统 龙蜥社区 中兴通讯

联合阿里云,首批诚邀 30 家!Alibaba Cloud Linux 伙伴招募计划发布

OpenAnolis小助手

操作系统 国产操作系统 龙蜥社区 Alibaba Cloud Linux

龙蜥社区荣获 OSCHINA “2023 年度优秀开源技术团队”

OpenAnolis小助手

操作系统 国产操作系统 龙蜥社区

云原生时代下,操作系统生态的挑战与机遇

OpenAnolis小助手

云原生 操作系统 国产操作系统 龙蜥社区 2023龙蜥操作系统大会

金智维的务实主义,打响大模型落地“突围战”

脑极体

AI

【专访浪潮信息】构建开放公平的社区生态,中国服务器操作系统崛起进行时

OpenAnolis小助手

操作系统 国产操作系统 龙蜥社区 浪潮信息 2023龙蜥操作系统大会

释放硬件潜能,激活软件生态 《龙蜥+超级探访》第二期走进 Intel

OpenAnolis小助手

操作系统 国产操作系统 英特尔 龙蜥社区 龙蜥+超级探访

龙蜥社区正式推出驱动基线 V1.0,打造更加稳定、高效的生态系统

OpenAnolis小助手

操作系统 国产操作系统 龙蜥社区

Anolis OS 获 Gitee 最有价值开源项目称号

OpenAnolis小助手

操作系统 国产操作系统 龙蜥社区

创新奋进,共筑国产基础软硬件的美好未来 | 2023 龙蜥操作系统大会

OpenAnolis小助手

操作系统 国产操作系统 龙蜥社区 龙芯中科

Intel 技术总监:同心共行,共建龙蜥 | 2023 龙蜥操作系统大会

OpenAnolis小助手

操作系统 国产操作系统 intel 龙蜥社区 2023龙蜥操作系统大会

EF Core数据库Provider一览_数据库_Jonathan Allen_InfoQ精选文章