2010-01-08 58 views

回答

5

使用構造器注入注入的DataContext到每個庫:

public class MyRepository : IMyRepository 
{ 
    private readonly DataContext dataContext; 

    public MyRepository(DataContext dataContext) 
    { 
     if(dataContext == null) 
     { 
      throw new ArgumentNullException("dataContext"); 
     } 

     this.dataContext = dataContext; 
    } 

    // implement MyRepository using this.dataContext; 
} 

這使您可以共享或不共享的DataContext在哪個方式是必要的。

+0

爲什麼ArgumentNullException如果你說「這允許你共享或不共享DataContext」?我只是想明白,謝謝。 – 2011-05-02 22:05:40

+1

衛兵條款在那裏保證班級的不變量。它與你是否可以共享DataContext(你可以)無關。 – 2011-05-03 04:51:45

+0

謝謝馬克。如果我理解正確,你提出的解決方案是有一個額外的構造函數,所以你可能需要每個控制器一個DataContext? @Mark Seeman,再次感謝!我讀了很多mvc模式,最後我想我有這個答案:O) – 2011-05-03 13:00:25