将MariaDB与entity framework结合使用

最近,我看到一则消息称MariaDB是MySQL的替代品,因为根据谷歌,MySQL 对集群/企业版的价格不友好 。

现在我在Google上找不到与MariaDB相关的任何相关信息,所以我希望有人知道。 可以使用MySQL驱动程序,因为它是100%兼容的吗? 有什么想法吗?

更新

我刚刚发现RedHat也从MySQL切换到MariaDB,因为它是默认的数据库管理系统。 因此,我当前的项目必须将其切换到MariaDB。

我能够将MariaDB 10与Entity Framework一起使用,虽然它需要一些工作,主要是因为MySQL工具有点儿麻烦。

要在Visual Studio 2010/2012中使用MySQL / MariaDB,您需要使用MySQL Installer 为Visual Studio安装MySQL 。 我使用Web版本,因为我只想下载连接器和扩展。 完成此操作后,您可以添加与MariaDB的连接并创建EF模型。

这不足以运行您的代码。 首先,您需要使用NuGet添加MySQL Connector。

不幸的是,MySQL for Visual Studio添加了对旧版提供程序版本的引用( 此处提到),无法加载较新版本。 为了解决这个问题,我在app.config中添加了以下部分:

      

这将使用新引用替换旧引用。 请注意,我用过

  

  

remove元素中。

目前,Visual Studio 2013不支持MySQL for Visual Studio

更新 – 2017年

Connector / .NET本质上是停滞不前的,与2013年的问题相同,例如没有真正的异步调用。 “异步”调用是假的 – 它们在不同的线程上运行,从而破坏了使用async目的。 仅这一点使它不适合Web应用程序,其中人们希望使用最少数量的线程/ CPU来尽可能多地请求服务器。

没关系.NET Core支持。

这就是为什么在过去的几年里人们已经建立了自己的,真正异步的提供商。 一些比较流行的是:

  • MySqlConnector为.NET .NET Core提供了真正的异步提供程序
  • Pomelo在MySQLConnector之上提供EF Core支持

每个NuGet大约下载100K,频繁版本和主动维护。

他们不是“官方”,但绝对值得尝试