我有一个部署在 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 中,我将我的 Web API 指向 docker 上的 MySql 实例,我可以很好地连接。在 docker 中,我收到上述错误。
有什么问题吗?
最佳答案
未传递提供者名称。在 ASP.NET 5 之前,provider
值可以在 web.config 中与 connectionString
一起设置。这不再是这种情况,因为连接字符串只是 json 文件中的一个字符串值,没有额外的属性。
您需要以编程方式设置它。 Here's an example , 特别是这部分;
SetProviderServices("MySql.Data.MySqlClient", new MySqlProviderServices());
关于mysql - 在 Docker 上连接到 MySql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33549146/