使用 DbContext 访问连接属性

本文关键字:属性 连接 访问 DbContext 使用 | 更新日期: 2023-09-27 17:56:02

我正在将我的实践实体框架代码升级到 v4.1。在旧版本中,我的上下文类派生自 ObjectContext,但在 EF 4.1 的新版本中,它们提供了一个很好的 DbContext API。

我基本上是在尝试转换代码,以便它从数据库优先方法工作到代码优先方法。使用 EF 4.1

在旧代码中,我有类似的东西

context.Connection.BeginTransaction(isolationLevel);

其中上下文类型派生自 ObjectContext。

在 v4.1 中,我无法从上下文访问连接属性。我该怎么做?

使用 DbContext 访问连接属性

它位于 DbContext 中,应该是公开的。

dbContext.Database.Connection.ConnectionString

也:

dbContext.Database.Connection.BeginTransaction(isolationLevel)

在勇敢的新.Net Core世界中,您可以使用:

using Microsoft.EntityFrameworkCore;
context.Database.GetDbConnection();

新的DBContext具有

context.Database.Connection.BeginTransaction() 

具有一些重载的方法。在Visual Studio中执行Goto定义以查看方法。

你可以使用类似的东西

((IObjectContextAdapter)context).ObjectContext.Connection.BeginTransaction(isolationLevel);