ASP.NET Core MacOS连接字符串

时间:2018-12-19 23:36:55

标签: c# mysql entity-framework asp.net-core entity-framework-core

我在使用Entity Framework Core for ASP.NET Core 2.0项目建立在 MacOS 上的 mysql 服务器数据库的连接时遇到问题。

我正在关注本教程:https://blog.jetbrains.com/dotnet/2017/08/09/running-entity-framework-core-commands-rider/

我的数据库作为localhost:3306上运行的MacBook上的默认 mysql 服务器服务启动,并具有用于登录的用户名和密码。我可以从DataGrip和Terminal连接到数据库。

当我运行此命令以建立连接并创建DBContext时:

dotnet ef dbcontext scaffold "Server=(mysql)\localhost;Database=edums_development;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -c EdumsDataContext

我遇到错误:

  

System.Data.SqlClient.SqlException(0x80131904):建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称正确,并且已将SQL Server配置为允许远程连接。 (提供者:TCP提供程序,错误:25-连接字符串无效)---> System.Net.Sockets.SocketException(0x80004005):未定义错误:0

显然意味着我的连接字符串不正确。

我不知道到底是什么错误,以及如何包含用户名和密码才能成功连接。

1 个答案:

答案 0 :(得分:3)

您使用了错误的数据库驱动程序<:SHOW_NO_PREMIUM_STATUS:>,该驱动程序用于MS SQL Server,实际上表示错误

  建立与SQL Server的连接时发生

错误。的   找不到服务器或无法访问服务器。验证实例   名称正确并且该SQL Server配置为允许远程   连接。

尝试改用{{3}}

Microsoft.EntityFrameworkCore.SqlServer