사용 Select 또는 Cast (Y가 X에서 상속 된 경우) IEnumerable<T>
의 확장 (당신은 프로젝트 Y 새로운 유형의 X에 원하는 경우) :
IEnumerable<ContactPersonViewModel> contactPersons =
results.Select(p => CreateContactPersonViewModelFrom(p));
ContactPersonViewModel이 ContactPerson 경우 :
IEnumerable<ContactPersonViewModel> contactPersons =
results.Cast<ContactPersonViewModel>();
일반적으로 creat 뷰 모델에는 엔티티에서 뷰 모델로 수동 특성 매핑이 포함됩니다. 이처럼 :
IEnumerable<ContactPersonViewModel> contactPersons =
results.Select(p => new ContactPersonViewModel {
Name = p.Name,
Phone = p.Phone
});
그래서 나는 또한 당신이
Automapper 같은 일부 매핑 프레임 워크를 살펴 가지고하는 것이 좋습니다. 그것은 당신을 위해 많은 매핑을 만듭니다. 이것은
ContactPerson
소요
ContactPersonViewModel
생성자 거기에 가정
var contactPersons = results.Select(r => new ContactPersonViewModel(r));
;
IEnumerable<ContactPersonViewModel> contactPersons =
Mapper.Map<IEnumerable<ContactPersonViewModel>>(results);
'Automapper'에 대한 큰 감사! 감사합니다 :) – whoah