在 Docker 连接到 MySql
Connecting to MySql on Docker
我在 docker 上部署了一个 ASP.NET 5 Web API 应用程序。它连接到 MySql 实例,也在 docker 上。我正在使用 Entity Framework 6 连接到 MySql 数据库。我没有直接引用 Entity Framework,而是使用内部使用 Entity Framework 6.
的 MySql.Data.Entity 包
当我调用 API 时,出现此错误:
无法确定 'MySql.Data.MySqlClient.MySqlClientFactory' 类型的提供程序工厂的提供程序名称
在 docker 之外,即在我的 windows 机器上,在 Visual Studio 2015 年,我将我的网络 API 指向 MySql 实例 docker,我可以正常连接。在 docker 里面,我得到上面提到的错误。
有什么问题吗?
我不是 ASP.NET 方面的专家,但您的问题不能转化为:
If I run ASP.NET on Windows everything works fine, if I run it on
Linux I get an exception.
?
我认为这不是 Docker 问题,我宁愿调查 Entity Framework 在 Mono 上的问题/驱动程序需求。
未传递提供商名称。在 ASP.NET 5 之前,provider
值可以在 web.config 中与 connectionString
一起设置。这不再是这种情况,因为连接字符串只是 json 文件中的一个字符串值,没有额外的属性。
您需要以编程方式进行设置。 ,特别是这部分;
SetProviderServices("MySql.Data.MySqlClient", new MySqlProviderServices());
我在 docker 上部署了一个 ASP.NET 5 Web API 应用程序。它连接到 MySql 实例,也在 docker 上。我正在使用 Entity Framework 6 连接到 MySql 数据库。我没有直接引用 Entity Framework,而是使用内部使用 Entity Framework 6.
的 MySql.Data.Entity 包当我调用 API 时,出现此错误:
无法确定 'MySql.Data.MySqlClient.MySqlClientFactory' 类型的提供程序工厂的提供程序名称
在 docker 之外,即在我的 windows 机器上,在 Visual Studio 2015 年,我将我的网络 API 指向 MySql 实例 docker,我可以正常连接。在 docker 里面,我得到上面提到的错误。
有什么问题吗?
我不是 ASP.NET 方面的专家,但您的问题不能转化为:
If I run ASP.NET on Windows everything works fine, if I run it on Linux I get an exception.
?
我认为这不是 Docker 问题,我宁愿调查 Entity Framework 在 Mono 上的问题/驱动程序需求。
未传递提供商名称。在 ASP.NET 5 之前,provider
值可以在 web.config 中与 connectionString
一起设置。这不再是这种情况,因为连接字符串只是 json 文件中的一个字符串值,没有额外的属性。
您需要以编程方式进行设置。
SetProviderServices("MySql.Data.MySqlClient", new MySqlProviderServices());