如何获取System.Data.EntityClient的DbProviderServices?

时间:2015-06-16 14:23:22

标签: c# mysql entity-framework-6

我正在将EF6 DB-First控制台应用程序迁移到代码库中 我正在使用MySQL,BTW 作为其中的一部分,我正在将基于app.config的内容移动到基于C#的内容,因为在DLL中有基于app.config的东西的问题。

我正在通过SqlConnectionStringBuilderEntityConnectionStringBuilder生成连接字符串,为了使用EF6,我需要设置
EntityConnectionStringBuilder.Provider = "System.Data.EntityClient"

我主要工作,除了我得到一个例外:

The ADO.NET provider with invariant name 'System.Data.EntityClient' is either not registered in the machine or application config file, or could not be loaded. See the inner exception for details.

我指出我需要为EntityClient设置DbProviderServices。

我成功为System.Data.SqlClientMySql.Data.MySqlClient设置了DbProviderServices:

this.SetProviderServices("System.Data.SqlClient", System.Data.Entity.SqlServer.SqlProviderServices.Instance);
this.SetProviderServices("MySql.Data.MySqlClient", new MySql.Data.MySqlClient.MySqlProviderServices());

(System.Data.SqlClient似乎没有必要,但它编译并运行:)

现在,问题
我仍然需要这样做:

this.SetProviderServices("System.Data.EntityClient", something);

尽管有很多搜索和试验,我无法弄明白。
有谁知道为DbProviderServices创建/检索System.Data.EntityClient实例的正确语法?

谢谢!

0 个答案:

没有答案