[英]In multiple different DB enviroment with EF core, need to access Connection state
在 EF Core 3.1 的具有不同數據庫(SQL Server、Oracle 等)的項目中,我有一個基礎 class,每個數據庫的頂級 class 都來自該基礎。 主要問題是我無法訪問底層數據庫的連接 state。
重點不是為每種數據庫類型重寫基本代碼——只是不同之處。
基本代碼與此類似。 為了清楚起見,我刪除了多余的部分。
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.Common.DbCommand 。
因此,您可以在“適配器”的(非通用)基礎 class 中擁有這些抽象基類的實例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.