2010-01-08 3 views

답변

5

사용 생성자 삽입 각 저장소에 DataContext를 주입합니다 : 이것은 당신이 공유하거나하지 방법이 필요 쪽의 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; 
} 

.

+0

왜 "당신이 공유하거나 DataContext를 공유하지 못하게 할 것"이라고 말하는 경우 ArgumentNullException이 발생합니까? 나는 단지 이해하려고 노력하고있다. 고마워. –

+1

가드 절은 클래스의 불변성을 보장합니다. 그것은 당신이 할 수있는 DataContext를 공유 할 수 있는지 여부와 관련이 없습니다. –

+0

감사 마크. 내가 올바르게 이해했다면, 제안 된 솔루션에 여분의 생성자가 있기 때문에 각 컨트롤러마다 하나의 DataContext가 필요할 것입니다. @ 마크 시맨, 다시 한번 감사드립니다! 나는 많은 mvc 패턴을 읽고 마침내 나는이 대답을 가지고 있다고 생각한다. O) –

관련 문제