ConnectionString无法正确读取 - EF Core

时间:2016-11-30 06:36:41

标签: c# mysql asp.net-core entity-framework-core

我正在使用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并遇到了与上述帖子相同的错误。我用接受的答案解决了这个问题。但现在遇到了这个问题。

1 个答案:

答案 0 :(得分:3)

这里有令人尴尬的答案,但是发布以防其他人遇到这个神秘的错误消息。

事实证明主机无法访问,因为我之前在Azure上停止了服务器而忘记了。

但显然,如果主机无法访问,则会显示它尝试连接到255.255.255.255:3306 ...这导致我错误的思路认为连接字符串没有正确传递。