我正在将EF6 DB-First控制台应用程序迁移到代码库中
我正在使用MySQL,BTW
作为其中的一部分,我正在将基于app.config的内容移动到基于C#的内容,因为在DLL中有基于app.config的东西的问题。
我正在通过SqlConnectionStringBuilder
和EntityConnectionStringBuilder
生成连接字符串,为了使用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.SqlClient
和MySql.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
实例的正确语法?
谢谢!