我以前在EF 4.0使用ObjectSet
,我可以用ObjectSet.Context VS DbSet
myObjectSet.Context
返回ObjectContext
得到這個ObjectSet
底層語境。
現在用Ef4.1中的DbSet
,什麼是等效的?
我以前在EF 4.0使用ObjectSet
,我可以用ObjectSet.Context VS DbSet
myObjectSet.Context
返回ObjectContext
得到這個ObjectSet
底層語境。
現在用Ef4.1中的DbSet
,什麼是等效的?
EF 4.1不提供公開API從DbSet
實例獲取DbContext
。您將不得不使用Reflections API來獲取DbContext
實例。
編輯
一個解決方法是圍繞DbContext
instace通過與DbSet
實例。 例如,如果你有一個構造函數只帶了一個DbSet
實例。也通過DbContext
instace。
public MyService(DbContext context, DbSet<MyClass> mySet){}
其他的方法是打開裏面Reflector的EntityFramewrk.dll
,並找出如何通過訪問內部/私有的DbSet
領域得到DbContext
instace。我不會建議你使用它,因爲實現可以改變。
請問你能否指導我通過? –
我的意思是,我找不到DbSet和DbContext之間的任何直接關係 –
@Mustafa你必須問問ADO.NET團隊爲什麼他們沒有公開:)編輯我的答案來添加解決方法。 – Eranga
可能重複的[你能從DbSet獲得DbContext嗎?](http://stackoverflow.com/questions/17710769/can-you-get-the-dbcontext-from-a-dbset) –