为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
qq_花开花谢_0 2022-08-20 17:41:26
这是我第一次使用.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 InitialUpdate-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;"}然而,我收到同样的错误。如果任何其他代码会有所帮助,请注意,我会发布。
查看完整描述

3 回答

?
慕慕森

TA贡献1856条经验 获得超17个赞

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

之后,您需要将 教程更改为 mysql 提供程序项目页面上所述。options.UseSqlServeroptions.UseMySql


查看完整回答
反对 回复 2022-08-20
?
慕姐8265434

TA贡献1813条经验 获得超2个赞

此外,这是如何设置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

                }

        ));


查看完整回答
反对 回复 2022-08-20
?
慕虎7371278

TA贡献1802条经验 获得超4个赞

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

您可以改用此命令,在更改启动并添加 nuget 包后,将 DBContext 基架并在一个命令中生成 EF 模型和上下文:Pomelo.EntityFrameworkCore.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

如果最后一个命令吐出任何错误,请告诉我。


查看完整回答
反对 回复 2022-08-20
  • 3 回答
  • 0 关注
  • 87 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信