我在使用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
显然意味着我的连接字符串不正确。
我不知道到底是什么错误,以及如何包含用户名和密码才能成功连接。
答案 0 :(得分:3)
您使用了错误的数据库驱动程序<:SHOW_NO_PREMIUM_STATUS:>
,该驱动程序用于MS SQL Server,实际上表示错误
建立与SQL Server的连接时发生错误。的 找不到服务器或无法访问服务器。验证实例 名称正确并且该SQL Server配置为允许远程 连接。
尝试改用{{3}}
Microsoft.EntityFrameworkCore.SqlServer