2011-05-03 2 views
1

을의 ViewModel하기 수정 사항보기로 이동합니다. 이 잘 작동 :Automapper 엔티티 프레임 워크에서 매핑 대다 조회 내가이는 AutoMapper 기본 질문이라고 생각

Mapper.CreateMap<Article, ArticleAdmin>(); 
var articleData = Mapper.Map<Article, ArticleAdmin>(articleEntity); 

지금, 내 EF 모델은 TopicArticles 룩업 테이블을 통해 항목 테이블에 다 대다 관계를 포함하고 내가 문서 데이터를 editting에있을 때 연결을 관리 할.

그래서 나는 나의 뷰 모델이 추가 :

public ICollection<TopicArticle> TopicArticles { get; set; } 

나는이 엔티티 유형을 반영하는 정확한 사양입니다 생각 - 내 EF 모델은 EntityCollection로 TopicArticles 협회의 회원이있다.

나는 목록을 채우는 두 번째 뷰 모델 클래스를 추가합니다. "누락 형태 맵 구성 또는 지원되지 않는 매핑을"나는 매핑을 실행하면

public class TopicArticle 
{ 
    public int ArticleId { get; set; } 
    public int TopicId { get; set; } 
    public bool IsPrimaryTopic { get; set; } 
} 

, 나는 수를 내 TopicArticle 뷰 모델 클래스에 대해 Automapper에 말하지 않았으므로 이해할 수 있습니다.

그래서 : 질문 :

가 어떻게이 한층 설명하기 위해 내 매핑을 변경하려면 어떻게해야합니까?

(난 정말이 매핑되는 방법에 대한 Automapper 구문을 이해하지 않습니다.)

는 또한 : 나는 무엇을 놓친 있나요?

주/UPDATE :

등장 어떤 "간행물"정확하고 했어야 "기사"내 게시 된 코드에서 몇 가지 오류가 있었다 - 나는 situration 조금 단순화 해요 때문이었다 : 기사가 실제로 출판물에서 들려오지 만, 나는이 질문에서 그 복잡성을 원하지 않았다.

답변

2

좋습니다. 이것은 정말 기본입니다. 내 문제는 실제 Automapper 설명서를 얻지 못했습니다.

http://automapper.codeplex.com/documentation

쓸모없는 TOC입니다 : 상단 응답으로이 링크는 "automapper 문서를"됩니다 인터넷 검색.

실제 문서는 홈 페이지에서 액세스 할 수 있습니다.

내 질문에 대한 대답은 간단하다 : 첫째, 나는 명확성을 위해 내 두 번째 뷰 모델 클래스의 이름을 변경 :

public class TopicArticleAdmin 

을 다시 내 행동에, 나는 또 하나의 매핑 줄을 추가 :

Mapper.CreateMap<Publication, ArticleAdmin>(); 
Mapper.CreateMap<TopicPublication, TopicPublicationAdmin>(); 
var articles = Mapper.Map<IEnumerable<Publication>, IEnumerable<ArticleAdmin>>(
    articleEntities 
);