ObjectSet.Context vs DbSet

Mus*_*gdy 5 entity-framework-4.1

我以前用的是ObjectSet在EF 4.0,我能得到的基本语境ObjectSet使用

myObjectSet.Context返回 ObjectContext.

现在DbSet在Ef4.1中,等同于什么?

Era*_*nga 3

DbContextEF 4.1 不提供公共 API 来从实例获取DbSet。您必须使用 Reflections API 来获取DbContext实例。

编辑

一种解决方法是通过DbContext实例传递DbSet实例。例如,如果您有一个仅使用一个DbSet实例的构造函数。DbContext也传递实例。

public MyService(DbContext context, DbSet<MyClass> mySet){}
Run Code Online (Sandbox Code Playgroud)

另一种方法是打开EntityFramewrk.dll内部Reflector并找出如何DbContext通过访问 的内部/私有字段来获取实例DbSet。我不建议您使用它,因为实现可能会改变。