2011-03-09 3 views
2

이 주제에 대한 많은 훌륭한 게시물이 많이 있습니다. 모두 읽으려고했습니다. 저는 오랫동안 n 티어 개발자 였지만 MVC3/EF 응용 프로그램을 사용하여 작업을 시작하려했습니다. EF POCO 생성기 (T4)를 통해 POCO를 생성했습니다. 또한 ViewModels를 뷰에 바인딩하고 있습니다. 뷰에는 EF 요소가 없습니다. 내 질문은 유효성 검사 (U/I 전용)와 관련이 있습니다. 나는 DataAnnotations의 아이디어를 좋아하고 그것을 사용하고 싶다. 그러나 올바르게 사용하려면 ViewModel에서 사용해야합니다. 이 사이트 및 다른 사이트에서 볼 수있는 조언을 통해 POCO의 모든 속성을 내보기 모델에 복제하고 거기에 주석을 추가해야합니다. 이 작업을 더 쉽게하기 위해 AutoMapper를 사용하여이 지루한 매핑을 더욱 견딜 수있는 제안을 많이 보았습니다.MVC3 POCO 및 ViewModels를 사용한 EF 모델 우선

나는 꽤 좋은 생각을 가지고 있습니까?

+4

AutoAapper가 DataAnnotations에 대해 아무 것도하지 않는다고 생각합니다. –

+0

네 말이 맞아. 나는 automapper가 DataAnnotations로 무언가를 할 것이라는 것을 추론하는 것을 의미하지는 않았지만 아마 그 방법으로 읽었을 것입니다 ... thx – Bayrat

답변

0

AutoMapper는 엔티티에서 뷰 모델로의 변환에 대해서만 그 반대의 경우도 마찬가지입니다. 유형 간의 사용자 정의 변환 연산자와 같은 코드를 대체합니다. 여전히 뷰 모델을 만들고 올바른 데이터 주석을 사용하여 속성을 표시해야합니다.

+0

예 ...이 사이트의 게시물은 그것에 대해 아주 분명합니다. 그래도 알아 줘서 고마워. – Bayrat

4

나는 또한 나의 조회수

올바른

내보기 ... 아니 EF 물건에 ViewModels를 결합하고있다. 이상적으로는이므로 POCO가 내 Views에 없어야합니다.

나는 DataAnnotations의 아이디어를 좋아하고 그것을 사용하고 싶다. 그러나 올바르게 사용하려면 ViewModels에서 사용해야합니다.

정확함. POCO에는 데이터 주석이 없어야합니다.

이 사이트 및 다른 사람에 표시되는 조언에서

, 나는 내보기 모델로 내 포항 강판에서 어떤 속성을 복제하고

왜 거기에 내 주석을해야 할 것이다? 항상 에 바인딩되어 있습니까? POCO 's에있는 모든 속성? ViewModel은보기를 제공하는 것임을 기억하십시오. 따라서 주문을 제출할 양식이있는 경우 ViewModel은 해당 주문을 유지하는 데 필요한 항목 만 포함해야합니다. AutoMapper와 사용자 정의 코드를 조합하여이를 POCO에 매핑 할 수 있습니다.

내가 제안의 많은이 지루한 매핑이 더 견딜 수 있도록 AutoMapper를 사용하는 본 적이이 쉽게 만들려면

@Craig, 그것은 데이터 주석과 아무 상관이 권리입니다. AutoMapper는 몇 줄의 구성으로 ViewModel을 도메인 모델에 매핑합니다.

+0

예 ... 물론 ... 해당 뷰에 필요한 내 VM 등록 정보에만 있습니다. 그러나 두 개의 VM에서 동일한 속성을 사용하여 일부 중복 주석을 가질 수도 있지만 공통된 VM을 사용하여이를 해결할 수 있으며이를 다른 VM에 통합하여 복제본을 무효화 할 수 있습니다. 훌륭한 입력 및 프롬프트 reply – Bayrat

+0

@Bayrat - 모델에 중복 된 주석이있는 데는 아무런 문제가 없습니다. 그러나 데이터 주석에 대한 "코드"는 한 번만 구현됩니다. – RPM1984

관련 문제