EF4,代码优先和存储库模式 - 使用DbSet和& DataContext的

时间:2011-12-22 14:03:31

标签: entity-framework-4 code-first

尝试迁移现有的EF 4.2项目以使用Repository和Unit of Work模式。在许多人的样本中,我看到他们在存储库中使用DbSet集合,但对我来说这似乎有限,因为我不能使用像.Include()这样的东西。然后再使用DataContext进行其他示例(如此http://www.efekaptan.com/repository-pattern-with-entity-framework-code-first-4.1)。

所以......我有什么理由不想使用DataContext吗?

1 个答案:

答案 0 :(得分:0)

您可以将IncludeDbSet<T>一起使用。您应该在存储库中引用DbContext(通过构造函数将其传递给存储库实例),因为它是更高级操作所必需的。存储对DbSet<T>的引用只是简化/优化,以避免每次要访问时都在上下文中调用Set<T>()

您不能在存储库实现中创建上下文的实例(如链接问题中所示,因为它会违反工作单元。

相关问题