猿问

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

这是我第一次使用.NET Core 2.2和MySQL工作台,


我正在尝试建立一个非常基本的网站。


我遵循了以下微软教程


https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-mvc-app/working-with-sql?view=aspnetcore-2.2&tabs=visual-studio


添加基架项后,我按照说明打开 NuGet 包管理器,并在 cli 中执行以下命令:


Add-Migration Initial

Update-Database


该命令引发以下错误:Update-Database


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


我正在使用Bluehost(共享主机)服务器,我修改了权限,以便我可以远程连接到数据库(实际上我通过MySQL工作台连接)


我尝试将连接字符串更改为以下内容:


"ConnectionStrings": 

{

    "Piano3Context": "Server=162.241.*.*;Database=PianoDB;User Id=omyUsrName;password=myPass;Trusted_Connection=True;MultipleActiveResultSets=true;"

}

然而,我收到同样的错误。


如果任何其他代码会有所帮助,请注意,我会发布。


qq_花开花谢_0
浏览 93回答 3
3回答

慕慕森

您提到的教程正在使用 和 SQL-Server。要连接到MySql服务器,您需要不同的数据库提供程序。你可以为 Mysql 安装 nuget 包。请参阅微软文档中的提供商页面。Pomelo.EntityFrameworkCore.MySql之后,您需要将 教程更改为 mysql 提供程序项目页面上所述。options.UseSqlServeroptions.UseMySql

慕姐8265434

此外,这是如何设置MySQL的选项,您可以将配置字符串移动到配置并使用GetConnectionString方法。services.AddDbContextPool<MvcMovieContext>(&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; options => options.UseMySql("Server=localhost;Database=ef;User=root;Password=123456;",&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mySqlOptions =>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mySqlOptions.ServerVersion(new Version(5, 7, 17), ServerType.MySql); // replace with your Server Version and Type&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; ));

慕虎7371278

我被@philipp-grathwohl打败了,你需要使用MySql,并在你的创业公司中配置它,就像他的答案说的那样。您可以改用此命令,在更改启动并添加 nuget 包后,将 DBContext 基架并在一个命令中生成 EF 模型和上下文:Pomelo.EntityFrameworkCore.MySqlScaffold-DbContext&nbsp;"Server=<ip>;Initial&nbsp;Catalog=PianoDB;Persist&nbsp;Security&nbsp;Info=False;User&nbsp;ID=<username>;Password=<password>;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection&nbsp;Timeout=30;"&nbsp;Pomelo.EntityFrameworkCore.MySql&nbsp;-OutputDir&nbsp;Models&nbsp;-context&nbsp;Piano3Context&nbsp;-force如果最后一个命令吐出任何错误,请告诉我。
随时随地看视频慕课网APP
我要回答