我正在尝试从新的Asp Net Core 2.0 Web应用程序调用一个使用Entity Framework 6的.Net 4.7数据访问库。问题在于EF6似乎无法获取DbProviderFactory。我的工作理论是,这应该在调用程序的app/web.config中提供。我收到的错误是:
System.TypeLoadException: 'Could not load type 'System.Data.Common.DbProviderFactories' from assembly 'System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.'
为了规避这个问题,我创建了一个DbConfiguration类:
System.TypeLoadException: 'Could not load type 'System.Data.Common.DbProviderFactories' from assembly 'System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.'
为了规避这个问题,我创建了一个DbConfiguration类:
public class MyDbConfiguration : DbConfiguration
{
public MyDbConfiguration()
{
SetProviderFactory("System.Data.SqlClient", System.Data.SqlClient.SqlClientFactory.Instance);
SetProviderServices("System.Data.SqlClient", SqlProviderServices.Instance);
}
}
[DbConfigurationType(typeof(MyDbConfiguration))]
public class MyDbContext : DbContext, IMyDbContext
{
public MyDbContext(string connectionString)
: base(connectionString)
{
}
断点显示MyDbConfiguration正确执行,但仍会抛出错误。 我已在.Net Core Web应用程序上安装了System.Data.SqlClient和System.Data.Common软件包。
我没有找到明确说明我正在尝试做的事情(一般而言)不可能的任何东西,因此我假设我的DBConfiguration实现存在问题。请问有人可以指点我方向吗?