2012-11-29 2 views
1

리포지토리 패턴과 함께 사용되는 EF의 코드 우선 구현에서 도메인 모델의 비즈니스 개체 또는 데이터 모델의 단순 엔터티를 반환해야합니까?엔터티 프레임 워크 엔터티와 비즈니스 개체가 포함 된 리포지토리 패턴

내가 알 수있는 것부터, 저장소의 요점은 엔티티가 아닌 비즈니스 객체를 반환하여 작업 할 수 있다는 것입니다. 그러나 내가 찾은 대부분의 코드 예제는 대신 데이터 모델을 반환하는 것이므로 나에게 나쁜 생각 인 것 같습니다. 데이터 소스가 변경되면 어떻게 될까요?

답변

1

CodeFirst 개발을 사용하는 경우 비즈니스 오브젝트를 데이터 모델로 쉽게 사용할 수 있습니다. 별도의 DLL에 EF 매핑을 작성하여 EF의 비즈니스 모델에 대한 종속성을 제거 할 수 있습니다. 데이터 소스를 EF 대신 다른 데이터 소스로 변경하려는 경우에도 동일한 비즈니스 (도메인) 클래스를 유지할 수 있습니다.

+0

감사합니다. 이 점을 인식하는 데 약간의 독서가 필요했습니다. – devlord

+0

데이터 계층에 도메인 모델에 대한 참조가 필요합니까? 이 반전 제어입니까? – devlord

+1

이것은 반전 제어는 아니지만 도메인 중심 디자인처럼 보입니다. 비즈니스 로직과 지속성/데이터 계층에서 공유/공통적 인 도메인 모델을 먼저 설계하십시오. –

관련 문제