我正在使用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
有人有什么想法吗?
P.S。
我认为这个问题有点相关:MissingMethodException DbSet.ToList
我最近更新了.NET Core 1.1并遇到了与上述帖子相同的错误。我用接受的答案解决了这个问题。但现在遇到了这个问题。
答案 0 :(得分:3)
这里有令人尴尬的答案,但是发布以防其他人遇到这个神秘的错误消息。
事实证明主机无法访问,因为我之前在Azure上停止了服务器而忘记了。
但显然,如果主机无法访问,则会显示它尝试连接到255.255.255.255:3306 ...这导致我错误的思路认为连接字符串没有正确传递。