저는 Entity Framework를 처음 사용합니다 (중요한 경우 먼저 코드). 제가 사용하고있는 동안, 저는 POCO 클래스를 구축하여 최종 도메인 모델로 생각했습니다. Lazy Loading과 같은 것들로, 저는 프레젠테이션 레이어에서 직접이 엔티티를 사용할 수있는 아이디어가 마음에 드는데, 실제로 필요한 것들을 게으른로드로 가져옵니다.EF의 엔티티를 도메인 모델 또는 DTO로 생각해야합니까?
그러나 최근에 들어 본 적이없는 데이터 전송 객체에 대해서도 알게되었습니다. 절대적으로 의미가 있습니다. 내 최종 도메인 모델의 동작에는 DAL에 속하지 않는 비즈니스 규칙이있을 수 있습니다. 예를 들어, Entity Framework에 제공하는 POCO SalesOrder
에 AddItem(Product)
과 같은 최종 메서드가 포함되어야합니다. 이는 Product
이 인 경우 SalesOrder.OrderDate
인 경우 예외를 throw합니다. BLL에 속한 것과 같은 것 같습니다.
그래서, 나는 이것이 의미하는 가정이 내가 엔티티 프레임 워크가 더 DTO의? SalesOrderDto
같은 단지 특성 EmployeeDto
단순한 작은 데이터 홀더 다음 매핑되는 어떤 방법 (아마 AutoMapper 사용) 같아야주는 POCO 클래스 내 BLL의 도메인 객체에 전달한 다음 프레젠테이션 계층에 전달됩니까?
여기 오른쪽 궤도에 있습니다. 아니면 뭔가 빠졌습니다. DTO의 아이디어가 완벽하기 때문에 혼란 스럽지만, Entity Framework의 컨텍스트에서 사용 된 적이 전혀 없습니다.
나는 비슷한 문제를 가지고 있었고, 당신에게 도움이 될만한 몇 가지 대답을 얻었습니다. http://stackoverflow.com/questions/11521192/placement-of-dto-poco-in-a-three- 계층 프로젝트 – GrandMasterFlush