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.cn/article/Gk2v0dV7i_AC97lNisGY


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

640?wx_fmt=jpeg


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/317960.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[3.3训练赛]One-Dimensional(矩阵快速幂),Freda的迷宫(无向图强连通分量+并查集),一道防AK好题

文章目录T1:One-DimensionaltitlesolutioncodeT2:【NOIP模拟赛】Freda的迷宫titlesolutioncodeT3:【NOIP模拟赛】一道防AK好题titlesolutioncode确实没想到自己写文章能隔这么久,鸽王预警 T1:One-Dimensional title 考虑一个含有 N 个细胞的一维细胞自动机。细胞…

牛客网专题 概率dp

文章目录概念:例题引入:解答:Happy Running NC15532题意:题解:代码:poj2096 NC106693 Collecting Bugs题意:题解:代码:NC210477 带富翁题意:题解:…

模板:线性基

文章目录解析实现删除所谓线性基,就是线性的基 (逃) 解析 何为线性基? 定义几何BBB为集合SSS的线性基,当且仅当: .S任意子集异或和可以得到的结果,用B的子集都也可以得到,且B时所有这样的集合中元素最少的…

CF1242C-Sum Balance【状压dp】

正题 题目链接:https://www.luogu.com.cn/problem/CF1242C 题目大意 给出kkk个集合,现在从每个集合中取出一个数再把这些数放进每个集合里各一个,求能否使得所有集合的和相等,求方案。 保证所有集合中的出现过的数字都互不相同。 1≤k≤15…

连续段计数问题小记

给定一个长度为 \(n\) 的一个排列,如果区间 \([l,r]\) 之间的数是连续的,那么我们称这个区间时一个连续段。 比如 \([1,3,2,5,4]\) 中的连续段有:\([1,1],[1,3],[1,5],[2,2],[2,3],[2,5],[3,3],[4,4],[4,5],[5,5]\)。 这些连续段有一个共同的…

.NET Core 3.0 特性初探:C# 8、WPF、Windows Forms、EF Core

.NET Core 的下一个主要版本最近进入了预览阶段,.NET Core 3.0 将支持使用 Windows Presentation Foundation (WPF)、Windows Forms(WinForms)、Entity Framework (EF)、Blazor、 C# 8 和.NET S…

任意长度循环卷积单位根反演 学习笔记

今天听 \(\texttt{m}\color{red}{\texttt{yee}}\) 嘴的,赶紧来补个学习笔记。 PS:FFT 本质是长度为 \(2^k\) 的循环卷积。 单位根反演 反演本质: \[\frac1n\sum_{i0}^{n-1}\omega_{n}^{ai}[n|a] \]证明: 如果 \(n|i\),…

YBTOJ洛谷P4074:糖果公园(树上莫队)

文章目录解析update:代码所谓树上莫队,就是在树上的莫队 (逃) 传送门 解析 似乎就是树上的这道题 考虑如何转化为序列问题呢? 考虑dfs序 但是又一个问题。。。 似乎这条链的dfs序不连续啊 树剖一下就好啦 考虑更阳间的方法 求出这棵树的欧…

ARC115D-Odd Degree【dp,欧拉回路】

正题 题目链接:https://atcoder.jp/contests/arc115/tasks/arc115_d 题目大意 给出nnn个点mmm条边的一张无向图,对于每个k∈[1,n]k\in[1,n]k∈[1,n] 求恰好有kkk个奇数入度点的生成子图数量。 1≤n,m≤50001\leq n,m\leq 50001≤n,m≤5000 解题思路 考虑有kkk个奇…

【用梨泰院class中的财阀世家带你洞悉替罪羊树】Scapegoat Tree原理,模板,例题

我想写在前面,本文财阀世家全是虚构,没有诋毁之意,如有雷同,纯属巧合 红色预警!!!红色预警 文章目录Scapegoat Tree概念模板变量声明Bad函数判断是否需要重构理解模板rebuild重构理解模板inser…

领域驱动设计,让程序员心中有码(五)

1 从搬砖谈领域对象有一个古老的故事,大概是这样的。作者问三个建筑工地上的工人他们在干什么?有一个没精打采的说,我在挖洞!而另一一个人却说,我在盖一座房子。还有一个人说,我在建立一座巨大的城市。…

spoj Favorite Dice(概率dp+期望)

题意: 摇一个n面的骰子,问每一面都被摇到的次数期望是多少。 题解: 概率dp往往都是倒着推 我们设dp[x]表示已经摇到了x个面,还要摇的概率次数 那么dp[n] 0(即一次还没摇) dp[0]就是答案 对于dp[i],我们考虑当前已经摇到i个面&…

AT3968-[AGC025E] Walking on a Tree【构造】

正题 题目链接:https://www.luogu.com.cn/problem/AT3968 题目大意 给出nnn个点的一棵树,然后给出mmm条路径。每条边的权值是它是否又被正向经过是否又被反向经过,给每条路径定向使得所有边的权值和最大。输出方案。 1≤n,m≤20001\leq n,m\leq 20001≤…

CF512D Fox And Travelling(DP 计数)

CF512D Fox And Travelling 给定一张 \(n\) 个点 \(m\) 条边的无向图,每次选择一个叶子结点并将它和连接它的边删除。 对于每个 \(k\in[0,n]\),问有序选择 \(k\) 个点的方案数。 \(n\le 100\)。 显然如果有环,那么所有环上的点都无法被选择&a…

.NET Core实战项目之CMS 第十四章 开发篇-防止跨站请求伪造(XSRF/CSRF)攻击处理...

通过 ASP.NET Core,开发者可轻松配置和管理其应用的安全性。 ASP.NET Core 中包含管理身份验证、授权、数据保护、SSL 强制、应用机密、请求防伪保护及 CORS 管理等等安全方面的处理。 通过这些安全功能,可以生成安全可靠的 ASP.NET Core 应用。而我们这…

模板:左偏树

文章目录解析可以解决的问题定义:左偏树的基本性质基本结论操作合并访问与删除堆顶元素插入元素批量插入删除已知元素所谓左偏树,就是往左偏的树 下面介绍一下它的一个兄弟: 《右偏树》 (逃) 解析 所谓左偏树&#…

迎开学水题狂欢赛(舞踏会[dp+三叉树],HH去散步[矩阵快速幂],排序[模拟],铁路旅行[线段树])

快速简单记录老师口胡(可能就我自己看得懂了吧…) 文章目录T1:舞踏会titlesolutioncodeT2:HH去散步titlesolutioncodeT3:排序titlesolutioncodeT4:铁路旅行titlesolutioncodeT1:舞踏会 title …

P2619 [国家集训队]Tree I(K 度限制生成树 二分)

P2619 [国家集训队]Tree I 一张 \(n\) 个点 \(m\) 条边的带权无向联通图,每条边是黑色或白色。求一棵最小权的恰好有 \(need\) 条白色边的生成树,题目保证有解。 \(n\le 5\times 10^4,m\le 10^5,val\in[1,100]\)。 \(\color{yellow}{\bigstar\texttt{Tri…

CSP2021提高组复赛解析

前言 终于出成绩了我可以写博客辣,官方数据还没出就先放洛谷的题目链接了。 正题 T1-廊桥分配 https://www.luogu.com.cn/problem/P7913 题目大意 有m1m_1m1​种一类飞机,m2m_2m2​种二类飞机,每个飞机有一个占用时间的区间。要给两类飞机…

一起开心集训队第一周训练赛2021/3/14

文章目录比赛链接A CodeForces 1481D AB Graph题意:题解:代码:B CodeForces 1481E Sorting Books题意:题解:代码:C CodeForces 1478D Nezzar and Board题意:题解:代码:D …