如何使用EntityFramework Core连接到mysql数据库?

问题描述 投票:0回答:1

为了将asp.net core mvc与mysql数据库一起使用,我已经下载了specific provider of EF_Core for Mysql

然后我在启动文件中注册了DbContext服务:

 services.AddDbContext<NawrasContext>(options=>
               options.UseMySql(Configuration.GetConnectionString("DefaultConnection")));

这是我的appsettings.json

  {
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "AllowedHosts": "*",
  "ConnectionStrings": {
    "DefaultConnection": "Server=centreenmi2019.mysql.db;Database=centreenmi2019;Uid=centreenmi2019;Pwd=Bced75652102;"

  }
}

我已经成功添加了第一次迁移,但是当我尝试更新数据库时,出现此错误:

fail: Microsoft.EntityFrameworkCore.Database.Connection[20004]
  An error occurred using the connection to database '' on server 'centreenmi2019.mysql.db'.
MySql.Data.MySqlClient.MySqlException (0x80004005): Unable to connect to any of the specified MySQL hosts.
 at MySqlConnector.Core.ServerSession.ConnectAsync(ConnectionSettings cs, ILoadBalancer loadBalancer, IOBehavior ioBehavior, CancellationToken cancellationToken) in C:\projects\mysqlconnector\src\MySqlConnector\Core\ServerSession.cs:line 440 

我做错了什么?为什么错误告诉我:

使用服务器'centreenmi2019.mysql.db'上的数据库''连接时发生错误。而在连接字符串中指定了数据库名称吗?

mysql entity-framework-core connection-string
1个回答
0
投票

使用这些步骤可以解决问题

  1. 使用名为“ Pomelo.EntityFrameworkCore.MySql”的Nugat程序包
  2. 向Startup.cs注册服务

    services.AddCors();

    services.AddDbContext(options => options.UseMySql(Configuration.GetConnectionString(“ DefaultConnection”)));

  3. 在appsettings.json中使用此连接字符串

{“记录”:{“ IncludeScopes”:否,“ LogLevel”:{“默认”:“警告”}},

“ ConnectionStrings”:{“ DefaultConnection”:“服务器=本地主机;端口= 3306;数据库= centreenmi2019;用户=根;密码=”}}

© www.soinside.com 2019 - 2024. All rights reserved.