2009-03-04 5 views
1

, 내가 Linq에 엔티티 쿼리에서 내 도메인 개체에 할당을하고 개체. 그런 다음 리포지토리에서 반환 된 이러한 개체에 대해 작동 할 서비스 계층을 갖습니다.저장소는 엔티티 객체 및 도메인 내 저장소에서

내 도메인 객체는 다음과 같이 저장소에 있어야 하는가? 또는 내 리포지토리를 엔터티 및 데이터 액세스로 제한하고 내 서비스 계층에서 도메인 개체에 할당하도록해야합니까? 저장소에있는 모든 과제를 수행

쉽게 보이지만, 지금 내 데이터베이스와 도메인 객체 사이의 구별은 분명하지 않다. 적절한 연습은 무엇입니까? TIA

답변

2

앱을 relativly 간단하고 데이터 액세스 가서 저장소에 asignments을을 추출 상상하지 못할 IMO합니다. 그러나 앱이 앞으로 더 복잡해 지거나 데이터 액세스를 변경하려는 경우 저장소에서이 기능을 유지하십시오.

리포지토리와 기타 서비스 계층에 assignement가있는 앱을 만들었고 다른 하나는 별도의 변환 레이어 (하나의 변환과 개체가 복잡하지 않음)가 있습니다. 그 다음 그것을 사용하지 말아 것은 더 dificult 만드는 경우

것은, 거기 도움에 대한 모범 사례를 기억합니다.

2

나는 그것을 좋아하지 않았습니다. 그러나 이제는 보통 돌아 보지 않습니다. 기본적으로 다른 것은 구조가 다른 외부 데이터 소스로 변경해야하는 경우 저장소 코드의 구현과 함께 새 매핑을 설정하고이 매핑을 사용하여 완료 할 수 있다는 것입니다.

데이터 매핑에 관한 것입니다. 이 링크를 확인하십시오 IRepository confusion on objects returned :

http://www.martinfowler.com/eaaCatalog/repository.html는 또한이 관련 질문을 확인하십시오. 비슷한 매퍼를 사용했지만 IQueryable 수준에서 작동하게 만들었습니다. 매핑 후에 도메인 객체로 작업하는 동안 꽤 흥미로운 작업을 수행 할 수있게되었습니다.

관련 문제