2011-05-10 40 views
15

我正在將練習Entity Framework代碼升級到v4.1。在舊版本中,我有我的上下文類派生自ObjectContext,但隨着新版本的EF 4.1,他們提供了一個很好的DbContext API。使用DbContext訪問連接屬性

我基本上試圖轉換代碼,以便它從數據庫優先的方法到代碼優先的方法。與EF 4.1

在舊的代碼打轉轉,我有這樣的事情

context.Connection.BeginTransaction(isolationLevel); 

文意類型從ObjectContext的推導。

在v4.1中,我無法訪問上下文中的Connection屬性。我怎樣才能做到這一點?

回答

39

它在的DbContext,它應該是公開的。

dbContext.Database.Connection.ConnectionString 

也:

dbContext.Database.Connection.BeginTransaction(isolationLevel) 
1

您可以使用類似

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

新的DbContext有

context.Database.Connection.BeginTransaction() 

方法有一些重載。在Visual Studio中執行轉到定義以查看方法。