簡體   English   中英

我們可以在同一個項目中同時使用 Entity Framework 和 ADO.NET 嗎?

[英]Can we use Entity Framework and ADO.NET together in the same project?

ASP.NET 核心 .NET 6

  • 我想為我的 web 應用項目使用 Identity(使用默認的 EF 配置)
  • 同時我也想相當廣泛地使用ADO.NET或者Dapper來進行數據庫查詢
  • EF 和 ADO.NET 都將使用相同的連接字符串

我的問題:

  • 會不會出現連接沖突等問題?

我在 ASP.NET Core 6 中嘗試了 ADO.NET,它運行良好,並用它來執行存儲過程。

它會工作正常。 EF DbContext 將根據需要打開和關閉連接。 Dapper/ADO.NET 可以使用相同的連接字符串打開和關閉連接,它們將共享相同的連接池。

他們甚至可以共享同一個連接。 要么將 DbConnection 傳遞到 DbContext 構造函數中,要么讓 DbContext 管理連接,然后調用

var con = this.Database.GetDbConnection();
if (con.State != System.Data.ConnectionState.Open)
    con.Open();

獲取 DbConnection 並確保它在 DbContext 的生命周期內保持打開狀態。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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