Chr*_*ark 23 c# mysql entity-framework mariadb
最近,我读到一则消息称MariaDB是MySQL的替代品,因为根据谷歌,MySQL 对集群/企业版的价格不友好.
现在我在Google上找不到与MariaDB相关的任何内容,所以我希望有人知道.是否可以使用MySQL驱动程序,因为它是100%兼容的?有什么想法吗?
更新
我刚刚发现RedHat也是从MySQL切换到MariaDB的默认数据库管理系统.因此,我当前的项目必须将其切换到MariaDB.
Pan*_*vos 11
我能够将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中添加了以下部分:
<system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient"/>
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient"
description=".Net Framework Data Provider for MySQL"
type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.7.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
Run Code Online (Sandbox Code Playgroud)
这将使用新引用替换旧引用.请注意,我用过
<remove invariant="MySql.Data.MySqlClient"/>
Run Code Online (Sandbox Code Playgroud)
不
<remove name="MySql Data Provider"/>
Run Code Online (Sandbox Code Playgroud)
在remove元素中.
目前,Visual Studio 2013不支持MySQL for Visual Studio
更新 - 2017年
Connector/.NET基本上停滞不前,与2013年的问题相同,例如没有真正的异步调用."异步"调用是假的 - 它们在不同的线程上运行,从而破坏了使用的目的async.仅这一点使它不适合Web应用程序,其中人们希望使用最少数量的线程/ CPU 来尽可能多地请求服务器.
别介意.NET Core支持.
这就是为什么在过去的几年里人们已经建立了自己的,真正异步的提供商.一些比较流行的是:
每个NuGet大约下载100K,频繁版本和主动维护.
他们不是"官方",但绝对值得尝试
| 归档时间: |
|
| 查看次数: |
30172 次 |
| 最近记录: |