【问题标题】:ASP.NET Core MacOS Connection stringASP.NET Core MacOS 连接字符串
【发布时间】:2018-12-19 23:36:55
【问题描述】:

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

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

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

当我运行此命令建立连接并创建 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

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

我不知道究竟是什么不正确,我应该如何包含用户名和密码才能使其成功连接。

【问题讨论】:

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


    【解决方案1】:

    你使用了错误的数据库驱动Microsoft.EntityFrameworkCore.SqlServer,这个是针对MS SQL Server的,实际上是什么错误

    建立与 SQL Server 的连接时出错。这 服务器未找到或无法访问。验证实例 名称正确且 SQL Server 配置为允许远程 连接。

    尝试改用MySql.Data.EntityFrameworkCore

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

    【讨论】:

    • 成功了,我也确实把(mysql)\localhost改成了localhost
    • 很高兴能帮上忙
    猜你喜欢
    • 1970-01-01
    • 2017-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多