우리는 기존 DAL을 EF 4.0에서 EF 5.0으로 업그레이드 할 것입니다.
현재 일반적인 저장소 패턴이 이미 구현되어 있으며 POCO 개체를 비즈니스 엔티티로 사용하고 있습니다.
이러한 개체는 웹 서비스 인터페이스에서 전달되고 이후 비즈니스 및 유효성 검사 메서드를 추가하기 위해 부분 클래스로 확장되므로 WCF 특성으로 장식되어 있습니다. 또한 각 POCO 엔티티는 제네릭 리포지토리 메소드를 쉽게 사용하기 위해 "BusinessEntity"기본 클래스와 "IBusinessEntity"인터페이스를 상속합니다.비즈니스 개체를 POCO (개체 프레임 워크) 개체에서 분리해야하는 필요성?
비즈니스 개체를 POCO 개체에서 분리하여 속성 및 논리 만있는 일반 클래스로 만들 계획입니다.
그러나 주제에 관해 읽은 후에는 현재 예술 상태가 코드 우선 접근 방식을 채택하고 도메인 엔터티를 직접 유지하는 것으로 보입니다 (물론 모든 경우에 대해 일반화 할 수는 없지만).
Related answer 1, related answer 2.
우리의 경우 비즈니스 로직을 사용하여 POCO 객체를 유지하고 EF 5.0 (DbContext)과 관련된 변경 사항 만 적용하는 것이 합리적입니까? 아니면 저장소 내부에 매핑 레이어를 도입해야합니까? 이런 방식으로 애플리케이션은 비즈니스 엔티티에서 작동 할 것이고 저장소 계층은 외부에서 POCO 객체를 숨길 것입니다. 그러나 단점은 복잡성의 도입, 특히 일반적인 저장소를 다룰 때입니다.
미리 감사드립니다.
비슷한 문제가 있었지만 답변 중 일부가 사용되었을 수 있습니다. http://stackoverflow.com/questions/11521192/placement-of-dto-poco-in-a-three- tier-project – GrandMasterFlush
게시물에 대해 GrandMasterFlush에 감사드립니다. 그러나 POCO에서 비즈니스 객체를 매핑하는 데 어떤 접근 방식을 사용 했습니까? (만약 당신이 결국이 결정을 내리면). – Francesco
EF 모델을 읽고 WCF 특성으로 표시된 POCO의 데이터를 전달하는 WCF 서비스에서 호출 한 컨트롤러 클래스를 사용했습니다. 매우 큰 웹 사이트가 아니기 때문에 이것은 의미가있는 것처럼 보였습니다. – GrandMasterFlush