[英]After mapping DTO using AutoMapper, the Id field becomes 0
请在下面找到代码:
public class CustomerDto
{
public int Id { get; set; }
[Required]
[StringLength(255)]
public String Name { get; set; }
}
public class Customer
{
public int Id { get; set; }
[Required]
[StringLength(255)]
public String Name { get; set; }
}
// ...
var customers = _context.Customers.ToList();
var cusDtos= Mapper.Map<List<Customer>,List<CustomerDto>>(customers);
return cusDtos;
cusDtos
所有对象都具有除Id
之外的所有属性的值,所有对象的Id
为 0。 客户包含Id
值,但映射后Id
变为 0。任何人都可以帮我解决这个问题吗?
提前致谢。
您是否尝试过更改此代码
var cusDtos= Mapper.Map<List<Customer>,List<CustomerDto>>(customers);
用这个改变
var cusDtos= Mapper.Map<List<CustomerDto>>(customers);
并找到 automapper 配置文件。 并改变这个
CreateMap<Customer, CustomerDto>()
.ForMember(m => m.Id, opt => opt.Ignore());
对此
CreateMap<Customer, CustomerDto>();
AutoMapper 配置:
CreateMap<Customer, CustomerDto>();
您的代码:
var customers = _context.Customers.ToList();
var cusDtos = customers.Select(x => AutoMapper.Mapper.Map<CustomerDto>(x)).ToList();
return cusDtos;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.