.Net 核心 MySql

.Net Core MySql

我刚开始使用 Visual Studio Code with .NET Core 在 Ubuntu 14.04.4 上编码 我习惯于在工作中使用 Ubuntu(出于个人兴趣、爱好等)和 .NET 和 Visual Studio。

但我 运行 遇到了一个我似乎无法克服的问题。我正在构建一个我想与 MySql 服务器通信的小型控制台应用程序,但我似乎无法让 MySql.ConnectorNET.Data 正常工作。

它是使用命令 dnu install MySql.ConnectorNET.Data 安装的,而且似乎工作正常。依赖项已添加到 project.json 文件中,intellisense 能够很好地遍历包,但 OmniSharp 日志报告:

[INFORMATION:OmniSharp.Dnx.DnxProjectSystem] Project /home/<username>/VSCode/SimpleSQLatmpt/project.json has these unresolved references: MySql.ConnectorNET.Data

而且我似乎无法解决这个问题。 VSCode 似乎检测到它,并要求我 运行 dnu restore 命令。但这是无济于事的。对于所有意图和目的,似乎 MySql.ConnectorNET.Data 在项目中可用,但不能使用。

谁能告诉我如何解决这个问题? 同样重要的是,为什么会发生这种情况?

非常感谢您的宝贵时间。

提出这个问题时(2016 年 3 月)MySQL 没有与 .NET Core 兼容的 ADO.NET 提供程序。

现在情况有所改变:

  • MySqlConnector 由 Bradley Grainger 编写——在麻省理工学院获得许可,并提供完整的异步支持
  • MySql.Data (>6.10) 由 Oracle 提供(传统上,GPL)

我个人更喜欢MySqlConnector——它可以免费用于商业项目(MIT许可);我还使用 Linux 下的 NReco.Data 库对其进行了测试,它在我的场景中完美运行。遗憾的是,MySqlConnector 尚不支持 EF Core。

---更新--

另一个 .NET Core 兼容 MySQL 连接器 + EF Core MySQL 提供程序:

更新 2

MySql Connector NET for .NET Core 1.0 刚刚发布(2016 年 9 月)
http://insidemysql.com/mysql-connector-net-for-net-core-1-0/

我没有尝试 Bradley Grainger 的连接器,但是来自 MySQL 的这个连接器不支持 SSL。 :(

所以,任何想要使用的人,都应该连接“;SslMode=None;”在连接字符串中。