[英]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.