2011-12-22 31 views
0

一直與EF 4.2,但不與工作模式庫或單位。我試圖移動到他們但遇到問題。我跟着在那裏你創建一個repostirotybase抽象類車型,但有麻煩各具特色的地方我要使用預先加載在.include()方法查詢。這是你烘焙到存儲庫中的東西(因此每個存儲庫都需要實現它),或者進一步在消耗數據的層上。EF 4.2,Repository&UoW - 如何包含關係?

有什麼困惑的是,如果我不得不把它放在倉庫(這似乎是這種情況),它是限制性的,那麼我必須提供一個一刀切到我的消費者?

回答

1

創建特定的存儲庫,並添加特定的方法有關係,負荷實體。例如:

public class ProductRepository 
{ 
    public Product GetProductWithFeatures(int key) 
    { 
     return context.Products 
         .Include(p => p.Features) 
         .FirstOrDefault(p => p.Id == key); 
    } 
} 

另一種方法是在你的資料庫暴露IQueryable這樣你就可以直接調用Include但這樣的倉庫中去耦從EF您的上層部分失敗。