写点什么

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:457290
用户头像

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

关注

评论

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

拥抱 AI 原生!8月29日深圳,企业实践工作坊火热报名中

阿里巴巴云原生

阿里云 云原生

大模型那么懂你,为什么(白话篇)

石头哥谈架构

在AI技术唾手可得的时代,挖掘新需求成为创新关键——某知名向量搜索框架需求洞察

qife122

需求分析 AI技术

内网环境的即时通讯软件,企业用应该选哪款?

BeeWorks

即时通讯 IM 私有化部署

Playwright与PyTest结合指南

测吧(北京)科技有限公司

#人工智能

AppsFlyer 电商 App 营销现状报告:从 iOS 买量到再营销,中国电商重塑全球投放逻辑

财见

掘金AI时代计算产业红利的商业伙伴,为什么跟华为组队?

脑极体

AI

不增加 GPU,首 Token 延迟下降 50%|LLM 服务负载均衡的新实践

阿里巴巴云原生

阿里云 gpu 云原生 Higress

工业数字化 信息化经验总结(4)

万里无云万里天

数字化转型 信息化 工业 工厂运维

ETL中的数据质量评估与监控

谷云科技RestCloud

数据库 数据处理 数据安全 ETL ETL数据集成平台

可可图片编辑 HarmonyOS(2) 选择图片和保存到图库

万少

HarmonyOS

爬虫新神器:基于MCP的智能体,让数据获取“一键通关”

阿Q说代码

数据分析 智能体 数据获取 MCP 亮数据

一个平台让开发效率提升90%?看看中小企业如何靠iPaaS完成数字化转型

谷云科技RestCloud

数据处理 集成平台 ipaas

当DevOps落地实施撞上技术债务,如何量化债务突破困局

禅道项目管理

DevOps 软件开发 技术债务 效能管理 禅道项目管理软件

元图 CAD 插件化革命:突破效率瓶颈,重构智能协作新范式

元图CAD

插件化 场景化解决方案 元图cad 模块化赋能

【跨国数仓迁移最佳实践7】基于MaxCompute多租的大数据平台架构

阿里云大数据AI技术

MaxCompute BigQuery

工业数字化 信息化经验总结(5)

万里无云万里天

数字化转型 信息化 工业 工厂运维

技术解读 | OceanBase高并发场景下的性能保障

老纪的技术唠嗑局

性能优化 oceanbase

BeeWorks:企业级局域网即时通讯软件

BeeWorks

即时通讯 IM 私有化部署

用户访问权限审查最佳实践

运维有小邓

AD域 AD域管理

使用Bright Data API轻松构建LinkedIn职位数据采集系统

Leo

ASAP:仿真与真实世界物理对齐的人形机器人全身敏捷技能学习

qife122

人形机器人 机器人学习

AI时代下的黑客技术演进:提示工程与渗透测试未来

qife122

网络安全 提示工程

AI测试平台进阶:多模态模型对比评测实战解析

测试人

软件测试

ODPS 十五周年实录 | Data + AI,MaxCompute 下一个15年的新增长引擎

阿里云大数据AI技术

Python 阿里云 pandas MaxCompute ODPS

阿里云 ECS 可观测性最佳实践

观测云

阿里云

一看就是AI做的网页?ClaudeCode+5句提示词5分钟告别「蓝紫色」AI味儿

阿星AI工作室

AI 产品经理 AI编程 aicoding vibecoding

《2025年,传统企业如何低成本引入AI?》

石头哥谈架构

非传统创新者奖学金:从校园“麻烦制造者”到网络安全领航者

qife122

网络安全 黑客精神

@all,文心快码与你相约8月28日云智大会!

Comate编码助手

AI 编程 文心快码 文心快码Zulu 2025百度云智大会

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