2009-08-26 3 views
1

저는 Entity Framework를 사용하여 새로운 응용 프로그램을 작성하고 있습니다.Entity Framework에 대한 유용한 정보

EF는 어디에 있습니까? 내 생각은 여러 저장소 (기본적으로 EF를 래핑하는)를 노출하는 DataAccess 어셈블리에서이를 분리하는 것이다.

난 내 자신의 도메인 개체를 만들고 그것을 (DAO로 취급하는) EntityFramework 엔터티에 매핑하는 리포지토리에 전달합니다.

이 접근법의 문제점은 더 작은 도메인 모델의 경우에도해야 할 매핑의 양입니다.

가 나는 또한 항목의 필터링 된 번호를 검색 할 수 Repository.GetAll(Func<TDomainObj, bool> filter) 접근 방식을 좋아한다, 그러나 나는 대신 DAO를 취할 기능을 변환해야합니다 :

Func<**TDomainObj**, bool> filter를 --->

Func<**TEntityFrameworkObj**, bool> filter 

확실하지 않음 내가 어떻게 할 수 있니? 저장소에서 Func<TEntityFrameworkObj, bool>을 단순히 허용하면 호출자는 System.Data.Objects을 알아야합니다.

가 제안/의견을 기대 내가 EF에 내가해야 단지 몇 응용 프로그램을 생각하고 사용하기 시작하고있어

자신의 내 모델로 System.Data.Objects을 ....,

데이비드

답변

0

우리는 서비스 계층 뒤에 EF를 캡슐화합니다. 서비스 계층은 DTO 객체를 노출합니다. EF 객체를 코드의 DTO 객체에 매핑합니다.

경우에 따라 템플릿과 유사한 템플릿을 사용합니다. 우리가 물건 (예 : 고객)을 보내고 우리가 보낸 것과 비슷한 고객을 모두 돌려 보내는 곳.

2

Julie Lerman has a free, online presentation on EF tips and tricks tomorrow.

"엔터 프라이즈 프레임 워크처럼 생각하는 방법 (이유는 처음부터 그렇게하는 것이 좋을 수도 있습니다)"은 free, online CodeRage conference in September입니다. 프레젠테이션은 곧 다운로드 할 수 있습니다.

+0

주셔서 감사합니다. 저는 Julies 프리젠 테이션을 보았습니다. 나는 당신의 눈을 열어 둘 것입니다.이 모든 것에 매우 도움이됩니다. :) –

관련 문제