为了将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'上的数据库''连接时发生错误。而在连接字符串中指定了数据库名称吗?
使用这些步骤可以解决问题
向Startup.cs注册服务
services.AddCors();
services.AddDbContext(options => options.UseMySql(Configuration.GetConnectionString(“ DefaultConnection”)));
在appsettings.json中使用此连接字符串
{“记录”:{“ IncludeScopes”:否,“ LogLevel”:{“默认”:“警告”}},
“ ConnectionStrings”:{“ DefaultConnection”:“服务器=本地主机;端口= 3306;数据库= centreenmi2019;用户=根;密码=”}}