2011-12-22 74 views
1

試圖遷移我現有的EF 4.2項目以使用版本庫和工作單元模式。在很多人的示例中,我看到他們使用存儲庫中的DbSet集合,但對我來說這似乎是限制性的,因爲我不能使用像.Include()這樣的東西。然後再次有其他使用DataContext的示例(如這一個http://www.efekaptan.com/repository-pattern-with-entity-framework-code-first-4.1)。EF4,CodeFirst和版本庫模式 - 使用DbSet和DataContext之間的區別

所以......有一個原因,我不想使用DataContext?

回答

0

您可以使用IncludeDbSet<T>。您應該在存儲庫中引用DbContext(通過構造函數將其傳遞給存儲庫實例),因爲它對於更高級的操作是必需的。存儲對DbSet<T>的引用只是簡化/優化,以避免每次訪問時都在上下文中調用Set<T>()

您不能在存儲庫實現中創建上下文的實例(如鏈接問題中所示,因爲它會違背Unit of Work。

相關問題