내 문제에 대한 해결책은 내 매핑이 좋아 찾을 수 없습니다되었다 있도록 "결과"
public class Result
{
public int customerstotalcount { get; set; }
public int customerscount { get; set; }
public List<Customer> customers { get; set; }
}
public class RootObject
{
public Status status { get; set; }
public Order order { get; set; }
public Result result { get; set; }
}
CustomerPost : 여기
Mapper.Initialize(cfg =>
{
cfg.CreateMap<CustomerPost.RootObject, Customers.RootObject>();
cfg.CreateMap<CustomerPost.Order, Customers.Order>();
cfg.CreateMap<Customers.Result, CustomerPost.Task>();
cfg.CreateMap<CustomerPost.Task, Customers.Result>()
.ForMember(x => x.customerscount, opt => opt.Ignore())
.ForMember(x => x.customerstotalcount, opt => opt.Ignore());
});
try
{
Mapper.AssertConfigurationIsValid();
}
catch (AutoMapperConfigurationException ex)
{
//TODO: Handle this
throw ex;
}
var customer = Mapper.Map<CustomerPost.RootObject, Customers.RootObject>(input);
내 현재의 클래스 (고객)입니다 그래서 방금 다음과 같이 내 RootObject를 매핑했습니다.
Mapper.Initialize(cfg =>
{
cfg.CreateMap<CustomerPost.RootObject, Customers.RootObject>()
.ForMember(x => x.status, opt => opt.Ignore())
.ForMember(x => x.order, opt => opt.Ignore())
.ForMember(dest => dest.result, src => src.MapFrom(opt => opt.tasks.FirstOrDefault()));
(210)
그럼 내가 나서서 바로이 같은 결과 매핑 :
var result = Mapper.Map<CustomerPost.Task, Customers.Result>(input.tasks.FirstOrDefault());
var customer = new Customers.Customer();
customer = result.customers.FirstOrDefault();
을 단지 새로운 Customerobject에 바인딩됩니다. 그렇다면 내 모든 정보가 예상대로 전송되었습니다.
문제를 최소한으로 재생산 할 수 있습니까? 문제를 재구성하려하지만 퍼즐에 누락 된 조각이 너무 많습니다. – lxalln
코드를 정리했습니다. 어쩌면 지금보다 더 솔직하게 오류를 재현 할 수 있습니다. 내가하려고하는 일은 목록을 다른 속성에 묶는 것이다. 간단해야합니다. 아아, 그렇지 않습니다. –
Zoba