[英]AutoMapper not creating new Guid on mapping
我无法弄清楚如何使用 AutoMapper 触发“new Guid()”。
这是我的 model:
public class Countries
{
public Guid Id { get; set; } = new Guid();
public string Name { get; set; }
}
这是我的视图模型:
public class CountriesViewModel
{
public Guid Id { get; set; }
public string Name { get; set; }
}
当我从 CountryViewModel 到国家的 map 时,国家中的 Id 具有 Guid 的默认值(即 {00000000-0000-0000-0000-000000000000} ),而不是创建新的 Guid。
这就是我进行映射的方式:
public async Task<CountriesViewModel> Add(CountriesViewModel country)
{
var mapped = _mapper.Map<CountriesViewModel, Countries>(country);
_context.Countries.Add(mapped);
if (await _context.SaveChangesAsync() == 1)
{
_mapper = _countriesConfig.CreateMapper();
return _mapper.Map<Countries, CountriesViewModel>(mapped);
}
return new CountriesViewModel();
}
在这里,您正在创建Guid()
的实例,该实例创建一个空的 Guid,即00000000-0000-0000-0000-000000000000
每次
您正在寻找Guid.NewGuid()
来创建具有独特价值的新 guid。
试试下面
public class Countries
{
public Guid Id { get; set; } = Guid.NewGuid();
//^^^^^^^^^^This was wrong in your code
public string Name { get; set; }
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.