0

어떻게 여러 개의 dbcontext를 만들 수 있으며 이것을 사용하여 저장소에 주소 지정하는 방법은 무엇입니까?UnitOfWork 및 리포지토리가있는 DBContext가 여러 개 있습니까?

현재 예제는 MyFinance, codeplex application을 기반으로하므로 here 소스를 볼 수 있어야합니다. 누구나 아이디어를 가지고 있습니까, 내가 UnitOfWork, RepositoryBase, IDatabaseFactory를 변경해야한다고 생각하지만 ... 어떻게 또는 어떻게해야할지 모르겠습니다. 우리는 데이터의 미친 큰 "증가"액수가 있기 때문에 다음과 같은 상황이 같다 ^^

위의 것보다 사전에

덕분에

더 많은 정보를, 우리는 (하나의 마스터 dbcontext있을 것입니다 MyMasterContext), 사용자, 역할 및 정보 및 기타 세부 사항 만 포함합니다.

다음에는 처음에는 1 개의 서버가 있지만 다음 4-6 개월 동안이 서버가 변경 될 것으로 추측됩니다. 이것이 우리의 다음 dbContext가 MySlaveContext 인 이유입니다.

또한 속도를 위해 JSN Requests (MyAjaxContext) 만 반환하는 다른 서버가 있습니다 (예 : 현재 우편 번호가있는 다음 10 개 도시 및 기타 "자동 완성"기능).

어떻게 의미합니까, unitOfWork를 사용하면 안됩니까? Asp.Net MVC에서 객체를 업데이트하면 UnitOfWork 패턴이 사용됩니다. 그렇습니까? (UpdateModel (object) & saveChanges).

TransactionScope에 대해 살펴보고 가능한 경우 UnitOfWork를 사용하고 싶습니다. 그리고 현재 문제를 해결하는 방법에 대한 예제가 있습니까?

답변

0

해당 프로젝트에는 작업 단위 구현 (EF4 컨텍스트 제외) 또는 IDatabaseFactory이 없습니다.

작업 단위 구현 대신 TransactionScope을 사용하고 각 저장소 구현에서 적절한 (생성자에서) EF4 DbContext를 참조합니다.

주석

나는 일반적인 저장소 또는 작업 실행의 단위는 전용 데이터베이스로 작업하는 경우 사용에 어떤 혜택을 볼 수 없습니다에 대한 응답에 업데이트.

당신이 필요로하는 것이 더 많거나 적은 저장소를 만듭니다 (참조하는 해당 인터페이스 사용). 저장소 구현이 EF DbContext를 사용하는 것은 완벽하게 좋습니다.

트랜잭션 지원이 필요한 경우 TransactionScope을 사용하십시오.

+0

후 업데이트를, 그것으로 보면서 내가 잘못된 URL을 지정했습니다. 지금 수정되었습니다. – NicoJuicy

+0

이 답변을 업데이트했습니다. – jgauffin

0

NCommon을 확인해 보시기 바랍니다. 저장소, 작업 단위 W 명세 패턴과 같은 패턴에 대한 구현을 제공합니다. 또한 다중 컨텍스트 및 여러 작업 단위를 지원합니다.

현재 많은 문서를 찾을 수 있습니다

http://riteshrao.github.com/ncommon/index.html

문서는 지금 당장 할 것으로 보인다. 바라기를 바꿔 보면 고쳐질 것입니다.

여기에 여러 데이터베이스에 대한 오래된 블로그 n 일반적인 대한 저자의 사후 지원 찾았

http://codeinsanity.com/archive/2010/04/05/unit-of-work-implementation-in-ncommon-1-1.aspx

+0

http://riteshrao.github.com/ncommon/docs/index.html, 링크 된 문서에 액세스 할 수 없습니다. ( – NicoJuicy

+0

Dang. 내 대답이 업데이트되었습니다. –

관련 문제