Automapper를 사용하여 SQL 서버에서 자동으로 프로젝트를 만들려고합니다. 일부 데이터가 내 뷰 모델에 저장됩니다.Automapper를 통해 기본 ViewModel에 여러 시퀀스를 자동으로 생성합니다.
내가 가진보기 모델은 다음과 같습니다
public sealed class WorkstationViewModel
{
public int Id { get; set; }
public string Name { get; set; }
public string OccupiedByName { get; set; }
}
그리고 내가 사용하려고 해요 코드입니다 : 그들은 동일한 이름을 가지고
Mapper.CreateMap<Workstation, WorkstationViewModel>()
.ForMember(T => T.OccupiedByName, T => T.MapFrom(W =>
W.Sessions.AsQueryable().Select(E => E.StaffMember.Name).SingleOrDefault()));
두 속성 Id
및 Name
자동 전망이다 Workstation
클래스입니다. 나에게 automapper가를 생성 할 수 있다는 결론을 제공하는
나는이
var model = WorkstationsRepository.GetAll().Project()
.To<WorkstationViewModel>().SingleOrDefault();
같은 일부 codelines에 얻을 예외는 몇 가지 이상한 object reference is null
예외 스택 추적의 상단에 약간의 automapper의 CreateExpression<>
방법이 있습니다 그것을 SQL 코드로 변환하는 좋은 표현.
.Name
에서 .Category.Name
또는 SQL 테이블의 다른 항목 검색과 같은 간단한 맵을 사용할 때 완벽하게 작동합니다. Automapper를 통해 시퀀스를 투영하는 동안 번 항목에 액세스하면됩니다.