簡體   English   中英

在多個不同的帶有EF內核的DB環境中,需要訪問Connection state

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM