在具有EF内核的多个不同数据库环境中,需要访问连接状态



在一个针对EF Core 3.1的具有不同数据库(SQL Server、Oracle等(的项目中,我有一个基类,每个数据库的顶级类都来自该基类。主要问题是我无法访问底层数据库的连接状态。

重点不是重写每种数据库类型的基本代码,只是区别。

基本代码与此类似。为了清楚起见,我去掉了多余的部分。

public class CNAdapterBase<Provider, ConnectStrBuilderType, CommandType> 
{
private readonly Provider _dbProvider;
private string _connectionString;
private ConnectStrBuilderType _connectStr;
private CommandType _command;
....
}
public class CNMSSql : CNAdapterBase<SqlConnection, SqlConnectionStringBuilder,SqlCommand>
{
...
}

Oracle等的类似代码

任何工作建议都将不胜感激。

所有ADO.NET Connection对象都应从System.Data.Common.DbConnection派生,Command对象从System.Data.Ccommon.DbCommand.派生

因此,你可以在一个(非泛型(基类中拥有这些抽象基类的实例;适配器";。

相关内容

最新更新