我试图将一个小的.net框架项目迁移到.net核心项目。但是我花了几个小时搜索如何将以下代码用于.net core 2.0。但我不走运,因为似乎System.Data.Common功能因某种原因被削减了。所以,我在这里遇到了两个问题:
我们如何只在提供者名称字符串上获得工厂基础? 任何其他想法如何执行松散耦合的数据库连接工厂
public class ConnectionFactory
{
protected readonly DbProviderFactory Factory;
protected readonly string ConnectionString;
public ConnectionFactory(string connectionStringName)
{
var settings = ConfigurationManager.ConnectionStrings[connectionStringName];
this.Factory = DbProviderFactories.GetFactory(settings.ProviderName);
this.ConnectionString = settings.ConnectionString;
}
public DbConnection Connection
{
get
{
var con = Factory.CreateConnection();
con.ConnectionString = this.ConnectionString;
return con;
}
}
}
答案 0 :(得分:5)
DbProviderFactories将在.net core 2.1(2018年第二季度)中提供。