使用DbContext访问Connection属性

时间:2011-05-10 11:27:45

标签: c# .net asp.net entity-framework

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

我基本上试图转换代码,以便它从Database First方法到Code First方法。玩EF 4.1

在旧代码中,我有类似

的东西
context.Connection.BeginTransaction(isolationLevel);

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

在v4.1中,我无法从上下文访问Connection属性。我怎么能这样做?

4 个答案:

答案 0 :(得分:52)

它在DbContext中,应该是公开的。

dbContext.Database.Connection.ConnectionString

也:

dbContext.Database.Connection.BeginTransaction(isolationLevel)

答案 1 :(得分:3)

新的DBContext有

context.Database.Connection.BeginTransaction() 

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

答案 2 :(得分:2)

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

context.Database.GetDbConnection()

答案 3 :(得分:1)

您可以使用类似

的内容
((IObjectContextAdapter)context).ObjectContext.Connection.BeginTransaction(isolationLevel);