1

천천히 MVC 응용 프로그램을 클래스 라이브러리와 함께 배치합니다. MVC> 서비스> IRepository> EFRepository. 지금 현재, EFRepository 구현은 각각 생성자에서 새로운 dbContext를 생성하지만 테스트를 방해하므로 대신 dbContext를 삽입해야합니다.unity.mvc3 및 ntier 앱의 작업 단위?

나는 내 응용 프로그램의 나머지 부분에 걸쳐 DI에 unity.mvc3을 성공적으로 사용하고 있지만 dbContext 삽입을 올바르게 구현하는 방법에 대해서는 혼란 스럽습니다.

  • dbContext는 작업 단위 (UOW)로 작동합니까?
  • Repository에 dbContext를 삽입하는 것이 맞습니까?
  • 저는 dbContext를 요청마다 인스턴스화해야한다고 생각합니까?

나는 여기에서 어디로 가야할지 모르겠다. 작업 단위 (Unit of Work)가 있어야한다고 생각했지만 서비스 레이어에서 작업 단위 (UOW)가 발생합니다.

감사 모든 도움,

제임스

답변

3
  • 예 (하지만 당신은 작업의 사용자 지정 단위로 포장 수)
  • 예 (Unity.MVC3에서 계층 평생 관리자)
+0

간결하게, 나는 그것을 좋아한다! 나는 더 많은 것을 조사해 왔으며 Repo 클래스는 context.save를 호출해서는 안되며, 단지 상태를 변경해야하는 것으로 보인다. 그것의 UoW 상태는 db에 유지됩니다. 이제 Repos는 상태를 변경하기 위해 컨텍스트가 필요하지만 context.save를 호출합니다. 서비스? 이 모든 것을 설정하는 방법을 고민하는 중! – James

+0

내 블로그 엔진을 살펴보십시오. http://www.palmmedia.de/Blog/2011/2/7/aspnet-mvc-3-razor-based-blog-engine-with-sql-ce-40 아마도 일부 개념을 재사용 할 수 있습니다. 현재 Unity.MVC3을 사용하고 있지 않지만 곧 업데이트 할 예정입니다. – Daniel