我如何在.Net Standard 2.0项目中执行DbProviderFactories,因为我的主要应用程序是框架4.7.2

问题描述 投票:0回答:1

我的主项目位于 Framework 4.7.2 中,该项目引用了 netStandard 库项目,该项目是 netstandard 2.0。

我需要 .Net Standard 项目中的“DbProviderFactories”。

喜欢:

System.Data.Common.DbProviderFactory fact = System.Data.Common.DbProviderFactories.GetFactory(providername);

我可以将 netStandard 项目版本更改为 2.1,其中包含 DbProviderFactories,但 netstandard 2.1 不与框架 4.7.2 一起使用

还有其他方法可以做到这一点吗?

c# .net-standard-2.0
1个回答
0
投票

根据 文档

DbProviderFactories
也存在于 .Net Framework 4.7.2。 因此,您可以使用依赖注入编写一些独立于框架的代码:

// code at netstandard 2.1 project
MethodThatRequiresFactory(Func<string, DbProviderFactory> getFactory)
{
    ...
    var fact = getFactory(providername);
}

// code at .net472 project
MethodThatRequiresFactory(providername => System.Data.Common.DbProviderFactories.GetFactory(providername));
© www.soinside.com 2019 - 2024. All rights reserved.