繁体   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