2009-05-23 2 views
3

엔티티 프레임 워크에서 지속성의 무지가 부족하다는 것을 읽으면서 나는 종종 POCO Adapter을 만나게됩니다. 문제는 생산에 사용하는 사람이 있습니까, 어떻게 움직이며 함정입니까? > 어댑터 - (1) EF 엔티티 < : 비즈니스 로직에서 해당 어댑터와 함께 포항 강판을 사용하고 프리젠 테이션 레이어를 사용하거나 EF 엔티티와 DTO들 사이의 변환 서비스 레이어를 만들 :누구도 프로덕션 환경에서 POCO Adapter for Entity Framework를 사용합니까?

나는 응용 프로그램 디자인을위한 두 가지 대안을 고려 < -> POCO 비즈니스 개체 < -> 프레젠테이션 또는 (2) EF 엔터티 < -> 서비스 계층 < -> DTO < -> 프레젠테이션. 첫 번째 방법은 더 깨끗한 것처럼 보입니다. 그러나 POCO Adapter에 대한 정보는 매우 표준적인 솔루션이 아니며 지금 당장은 분명하지 않은 몇 가지 단점이있을 수 있습니다.

답변

7

EFPocoAdapter는 엔티티 프레임 워크 4.0을 위하여 사용이 중지되었습니다. beta release은 1 주일 전에 발표되었으며 MSDN 가입자 인 경우 이미 베타 1을 다운로드 할 수 있습니다.

EFPocoAdapter를 더 이상 사용할 이유가 없습니다. 또한 EF 4.0의 모든 기능 목록을 보려면 ADO.NET Entity Framework Design Team blog을 읽어 보시기 바랍니다. 훌륭한 읽을 거리입니다.

POCO in the Entity Framework: Part 1 - The Experience도 블로그 게시물을 참조하십시오.

EFPocoAdapter에 대한 경험으로는 POCO, 지연로드 및 n- 계층 시나리오에 대한 지원이 만족 스럽습니다. 엔티티 프레임 워크는 T4 템플릿을 다른 것들과 함께 제공함으로써 더 발전했습니다. 많은 사람들이 POCO 클래스를 손으로 코딩하는 것을 선호하지만 실제로는 부족하다고 느꼈습니다. 내가 가진 다른 문제는 순환 참조를 처리하지 않는 JavaScriptSerializer와 함께 serializer issues이었고 DataContractSerializer는 T4 템플릿보다 먼저 생성 된 클래스/멤버 특성을 자동 생성 클래스에서 사용할 수 없었습니다.

EFPocoAdapter는 커뮤니티로부터 피드백을 받고 EF 4.0에 대한 기능 세트를 개발하기위한 일종의 준비 플랫폼을 의미합니다. Jaroslaw와의 약간의 교류가 있었음에도 불구하고 가장자리를 약간 거칠게 다루지 만 요구 사항을 충족시킬 수있었습니다. 그와 지원은 매우 어둡습니다 (포럼이나 스택 오버플로에 대한 소수의 사람들).

4

AutoMapper을 사용할 수 있습니다. 그런 다음 EF 엔티티, POCO 엔티티 및 DTO-s를 쓸 수 있습니다. 엔티티의 두 세트는 약간의 오버 헤드가있는 것처럼 보일 수 있지만, 지속성에 대한 지식이 없으면 AutoMapper를 사용하는 것이 가장 쉬운 방법 인 것 같습니다.

Introduction to AutoMapper

+0

저는 이것을 잘 사용하고 있습니다. 모든 사람이 .NET Framework 4.0으로 업그레이드 할 수있는 것은 아니며 AutoMapper를 사용하면 제대로 작동합니다. – Digicoder

0

저는이 스레드에 Entity Framework v4를 사용하여 COCO POCO Generator (약 6 개월 동안)를 사용하여 생성 된 POCO 모델을 추가하고 싶습니다. 그리고 매우 잘 작동하고 있습니다.

WCF 서비스와 함께 사용할 때 few catches이 있습니다. 따라서 WCF를 통해 노출하는 것을 고려하고 있다면 합리적인 개념 증명을 조합 할 가치가 있으며 개체 그래프의 복잡성으로 인해 문제가 발생할 수 있습니다. 직렬화, 무국적 사용 등

관련 문제