.Net Core MySql

7
我刚开始使用Visual Studio Code和.NET Core在Ubuntu 14.04.4上进行编码。我习惯于在工作中使用Ubuntu、.NET和Visual Studio,也对此感兴趣。
但我遇到了一个无法解决的问题。我正在构建一个小型控制台应用程序,希望与MySql服务器通信,但是似乎无法正确使用MySql.ConnectorNET.Data。
它是通过命令“dnu install MySql.ConnectorNET.Data”安装的。看起来一切正常。依赖项已添加到project.json文件中,智能感知也可以很好地遍历该包,但是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可用于项目中,但无法使用。

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

非常感谢您的时间。


当您扩展项目引用时,是否有任何警告符号? - Chris Pickford
VSCode 左侧面板中没有经典的依赖关系树。我可以打开 project.json 文件查看所有依赖项,在那里它看起来很好,就像从 nuget 引用了正确的包。 - rasmus91
.NET Core是特殊的,需要特殊的构建。太多的组件尚未为这个新平台做好准备,所以即使你很勇敢,也不要轻易使用它。 - Lex Li
2个回答

18
在本问题发布时(2016年3月),没有适用于MySQL的.NET Core兼容ADO.NET提供程序。现在情况已经改变,有两个.NET Core兼容MySQL连接器:MySqlConnector(Bradley Grainger编写——根据MIT许可)提供完整的异步支持,并且可以免费用于商业项目;MySql.Data(> 6.10)由Oracle提供(传统上是GPL)。作者更喜欢MySqlConnector,因为它支持MIT许可证,也已在Linux下使用其NReco.Data库进行过测试,并且在其场景中工作得很好。遗憾的是,MySqlConnector还不支持EF Core。更新:另一个.NET Core兼容的MySQL连接器和EF Core MySQL提供程序是Pomelo.Data.MySql(不幸的是它没有实现真正的异步行为)和Pomelo.EntityFrameworkCore.MySql

MySql.Data.Core 已经不存在了。请参考 https://www.nuget.org/packages/MySql.Data.Core/。 - Muhammad Ummar
@MuhammadUmmar 你是对的,MySql.Data.Core已经被弃用,现在有一个与net-core兼容的MySql.Data包可用(我已经更新了链接)。 - Vitaliy Fedorchenko

2
更新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;"进行连接。

我喜欢使用官方连接器,但没有SSL有点让人无法接受。 - rasmus91
1
我们在 MySqlConnector 的第 0.3.0 版本中新增了 SSL 支持:https://github.com/mysql-net/MySqlConnector https://www.nuget.org/packages/MySqlConnector/ - Bradley Grainger
MySql.Data从Oracle也目前还不支持SSL :( - Himalaya Garg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接