【问题标题】:ObjectSet.Context vs DbSetObjectSet.Context 与 DbSet
【发布时间】:2011-11-20 21:53:54
【问题描述】:

我曾经在 EF 4.0 中使用 ObjectSet,我可以使用

获取此 ObjectSet 的底层 上下文

myObjectSet.Context 返回ObjectContext

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

【问题讨论】:

标签: entity-framework-4.1


【解决方案1】:

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

编辑

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

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

其他方法是打开Reflector 内部的EntityFramewrk.dll,并通过访问DbSetinternal/private 字段了解如何获取DbContext 实例。我不建议您使用它,因为实现可能会发生变化。

【讨论】:

  • 你能指导我完成吗?
  • 我的意思是,我找不到 DbSet 和 DbContext 之间的任何直接关系
  • @Mustafa 你必须问 ADO.NET 团队为什么他们没有公开它:) 编辑我的答案以添加解决方法。
  • 谢谢@Eranga,你是对的,我想他们会在即将到来的版本中做到这一点:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-09-23
  • 2014-07-27
  • 2011-11-17
  • 1970-01-01
  • 2017-07-19
  • 1970-01-01
相关资源
最近更新 更多