C# 将数据库连接到.net核心MVC项目

C# 将数据库连接到.net核心MVC项目,c#,mysql,.net-core,.net-core-2.2,C#,Mysql,.net Core,.net Core 2.2,这是我第一次使用.NET core 2.2和MySQL workbench 我试图建立一个非常基本的网站 我遵循了下面的Microsoft教程 添加脚手架项目后,我按照说明打开NuGet package manager,并在cli中执行以下命令: 添加迁移初始值 更新数据库 “更新数据库”命令引发了以下错误: 运行时发生与网络相关或特定于实例的错误 正在建立与SQL Server的连接。找不到服务器,或者 无法访问。验证实例名称是否正确,以及 SQL Server配置为允许远程连接。提供者:已命

这是我第一次使用.NET core 2.2和MySQL workbench

我试图建立一个非常基本的网站

我遵循了下面的Microsoft教程

添加脚手架项目后,我按照说明打开NuGet package manager,并在cli中执行以下命令:

添加迁移初始值 更新数据库

“更新数据库”命令引发了以下错误:

运行时发生与网络相关或特定于实例的错误 正在建立与SQL Server的连接。找不到服务器,或者 无法访问。验证实例名称是否正确,以及 SQL Server配置为允许远程连接。提供者:已命名 管道提供程序,错误:40-无法打开到SQL Server的连接

我正在使用一个Bluehost共享主机服务器,我修改了权限,以便可以远程连接到数据库,事实上,我是通过MySQL workbench连接的

我尝试将ConnectionString更改为以下内容:

"ConnectionStrings": 
{
    "Piano3Context": "Server=162.241.*.*;Database=PianoDB;User Id=omyUsrName;password=myPass;Trusted_Connection=True;MultipleActiveResultSets=true;"
}
但我收到了同样的错误


如果其他代码有帮助,请注意,我将发布。

您提到的教程正在使用和SQL Server。要连接到MySql服务器,您需要不同的数据库提供程序。您可以为MySql安装Pomelo.EntityFrameworkCore.MySql nuget包。请参阅microsoft文档中的


之后,您需要将教程中的options.UseSqlServer更改为options.UseMySql,如上所述。

此外,这是设置MySQL选项的方法,您可以将配置字符串移动到配置中,并使用GetConnectionString方法

services.AddDbContextPool<MvcMovieContext>(
            options => options.UseMySql("Server=localhost;Database=ef;User=root;Password=123456;", 
                mySqlOptions =>
                {
                    mySqlOptions.ServerVersion(new Version(5, 7, 17), ServerType.MySql); // replace with your Server Version and Type
                }
        ));

我被@philipp grathwohl打败了,你需要使用MySql,并在你的初创公司中配置它,就像他的回答所说的那样

在更改启动并添加nuget包Pomelo.EntityFrameworkCore.MySql之后,您可以使用此命令来构建DBContext并在一个命令中生成EF模型和上下文:


请告诉我最后一个命令是否有任何错误。

根据错误,您的应用程序无法连接到SQL数据库服务器。@ChetanRanpariya这很清楚,这就是我添加connectionstring的原因-我想可能是我用错误的形式写的。谢谢你的回复。非常感谢,解决了我的问题!是否有可能使用vs17 connect to database连接到数据库?这里没有MySQL选项,也许这有帮助:不用担心,很高兴它有帮助!
Scaffold-DbContext "Server=<ip>;Initial Catalog=PianoDB;Persist Security Info=False;User ID=<username>;Password=<password>;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" Pomelo.EntityFrameworkCore.MySql -OutputDir Models -context Piano3Context -force