2010-01-08 53 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