2011-11-19 54 views
5

我以前在EF 4.0使用ObjectSet,我可以用ObjectSet.Context VS DbSet

myObjectSet.Context返回ObjectContext得到這個ObjectSet底層語境

現在用Ef4.1中的DbSet,什麼是等效的?

+0

可能重複的[你能從DbSet獲得DbContext嗎?](http://stackoverflow.com/questions/17710769/can-you-get-the-dbcontext-from-a-dbset) –

回答

3

EF 4.1不提供公開API從DbSet實例獲取DbContext。您將不得不使用Reflections API來獲取DbContext實例。

編輯

一個解決方法是圍繞DbContext instace通過與DbSet實例。 例如,如果你有一個構造函數只帶了一個DbSet實例。也通過DbContext instace。

public MyService(DbContext context, DbSet<MyClass> mySet){} 

其他的方法是打開裏面ReflectorEntityFramewrk.dll,並找出如何通過訪問內部/私有DbSet領域得到DbContext instace。我不會建議你使用它,因爲實現可以改變。

+0

請問你能否指導我通過? –

+0

我的意思是,我找不到DbSet和DbContext之間的任何直接關係 –

+1

@Mustafa你必須問問ADO.NET團隊爲什麼他們沒有公開:)編輯我的答案來添加解決方法。 – Eranga