我正在将我的实践框架代码升级到v4.1。在旧版本中,我的上下文类派生自ObjectContext,但是新版本的EF 4.1,它们提供了一个很好的DbContext API。
我基本上试图转换代码,以便它从Database First方法到Code First方法。玩EF 4.1
在旧代码中,我有类似
的东西context.Connection.BeginTransaction(isolationLevel);
其中上下文类型派生自ObjectContext。
在v4.1中,我无法从上下文访问Connection属性。我怎么能这样做?
答案 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);