尝试迁移现有的EF 4.2项目以使用Repository和Unit of Work模式。在许多人的样本中,我看到他们在存储库中使用DbSet集合,但对我来说这似乎有限,因为我不能使用像.Include()这样的东西。然后再使用DataContext进行其他示例(如此http://www.efekaptan.com/repository-pattern-with-entity-framework-code-first-4.1)。
所以......我有什么理由不想使用DataContext吗?
答案 0 :(得分:0)
您可以将Include
与DbSet<T>
一起使用。您应该在存储库中引用DbContext
(通过构造函数将其传递给存储库实例),因为它是更高级操作所必需的。存储对DbSet<T>
的引用只是简化/优化,以避免每次要访问时都在上下文中调用Set<T>()
。
您不能在存储库实现中创建上下文的实例(如链接问题中所示,因为它会违反工作单元。