ObjectSet.Context vs DbSet

时间:2011-11-19 23:00:19

标签: entity-framework-4.1

我以前在EF 4.0中使用ObjectSet,我可以使用

获取此ObjectSet的基础上下文

myObjectSet.Context返回ObjectContext

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

1 个答案:

答案 0 :(得分:3)

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

修改

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

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

其他方法是在Reflector内打开EntityFramewrk.dll,并通过访问内部/私人字段来了解如何获取DbContext个实例。 DbSet。我不建议你使用它,因为实现可以改变。