【发布时间】:2025-12-12 14:15:02
【问题描述】:
我正在使用 EF Core 连接到 MySQL 数据库。自从从 1.0 升级到 1.1 后,我的连接字符串似乎没有被正确读取。这是我的 project.json:
{
"version": "1.0.0-*",
"dependencies": {
"MySql.Data": "7.0.6-IR31",
"MySql.Data.EntityFrameworkCore": "7.0.6-IR31",
"NETStandard.Library": "1.6.1"
},
"tools": {
"Microsoft.EntityFrameworkCore.Tools.DotNet": "1.1.0-*"
},
"frameworks": {
"netstandard1.6": {
"imports": "dnxcore50"
}
}
}
我正在像这样初始化一个 DBContext:
var optionsBuilder = new DbContextOptionsBuilder<Entities>();
optionsBuilder.UseMySQL(TestSettings.ConnectionString);
// Ensure database creation
context = new Entities(optionsBuilder.Options);
似乎用一些默认值代替了主机名:
Unable to connect to any of the specified MySQL hosts.
One or more errors occurred. (The requested address is not valid in its context 255.255.255.255:3306)
The requested address is not valid in its context 255.255.255.255:3306
这是连接字符串:
"server=mmocstagingdb.australiasoutheast.cloudapp.azure.com;user id=root;password=root;database=root;Convert Zero Datetime=True;SSL Mode=None"
(用户名、密码和数据库值被替换)对于它的价值,TestSettings 是一个带有静态字段ConnectionString 的静态类
有人有什么想法吗?
附言
我觉得这个问题有点相关:MissingMethodException DbSet.ToList
我最近更新到 .NET Core 1.1 并遇到了与上述帖子相同的错误。我使用接受的答案解决了它。但是现在遇到了这个问题。
【问题讨论】:
-
你能发布连接字符串吗?
-
@J.Pichardo 已发布。请参阅编辑
-
@l3utterfly 也许你的服务器需要
SSL。你试过了吗? -
@I3utterfly 你试过把
user id=root换成userid=root吗? -
好吧好吧,这很尴尬……看我的回答。
标签: c# mysql asp.net-core entity-framework-core