C# 我收到消息';缺少类型映射配置或映射不受支持;
我有两节课C# 我收到消息';缺少类型映射配置或映射不受支持;,c#,asp.net-core,.net-core,automapper,C#,Asp.net Core,.net Core,Automapper,我有两节课 public class AddressRequestModel { public Guid? UserKey { get; set; } public string AddressLine1 { get; set; } public string AddressLine2 { get; set; } public int ZipCode { get; set; } public stri
public class AddressRequestModel
{
public Guid? UserKey { get; set; }
public string AddressLine1 { get; set; }
public string AddressLine2 { get; set; }
public int ZipCode { get; set; }
public string Location { get; set; }
public bool IsActive { get; set; }
}
public class AddressRequestModelList
{
public List<AddressRequestModel> AddressRequestModel { get; set; }
}
和一个配置文件映射器
public class Profiler :Profile
{
public Profiler()
{
CreateMap<List<AddressRequestModelList>, List<Address>>();
}
}
公共类探查器:配置文件
{
公共档案员()
{
CreateMap();
}
}
映射此控制器时,我收到消息“缺少类型映射配置或映射不受支持”
public IEnumerable<AddressDto> CreateAddress(AddressRequestModelList addressRequestModel)
{
var requestModel = _mapper.Map<List<Address>>(addressRequestModel);
...
}
public IEnumerable CreateAddress(AddressRequestModelList addressRequestModel)
{
var requestModel=_mapper.Map(addressRequestModel);
...
}
我需要帮助。指定集合类型之间的映射是不常见的;通常,您会映射项目类型:
public class Profiler : Profile
{
public Profiler()
{
CreateMap<AddressRequestModel, Address>();
}
}
公共类探查器:配置文件
{
公共档案员()
{
创建地图
如果必须指定到列表的映射,可以执行以下操作:
public class Profiler : Profile
{
public Profiler()
{
CreateMap<AddressRequestModel, Address>();
CreateMap<AddressRequestModelList, List<Address>>()
.ConstructUsing(
(src, context) => context.Mapper.Map<List<Address>>(src.AddressRequestModel));
}
}
public IEnumerable<AddressDto> CreateAddress(AddressRequestModelList addressRequestModel)
{
var requestModel = _mapper.Map<List<Address>>(addressRequestModel);
//...
}
公共类探查器:配置文件
{
公共档案员()
{
CreateMap();
CreateMap()
.施工(
(src,context)=>context.Mapper.Map(src.AddressRequestModel));
}
}
公共IEnumerable CreateAddress(AddressRequestModelList addressRequestModel)
{
var requestModel=_mapper.Map(addressRequestModel);
//...
}
发布完整的异常文本,而不仅仅是消息。使用异常.ToString()
或在调试时单击异常弹出窗口中的复制详细信息
,您可以轻松获得它。全文可能解释了哪些类型无法映射感谢。这很有效
public IEnumerable<AddressDto> CreateAddress(AddressRequestModelList addressRequestModel)
{
var requestModel = _mapper.Map<List<Address>>(addressRequestModel.AddressRequestModel);
//...
}
public class Profiler : Profile
{
public Profiler()
{
CreateMap<AddressRequestModel, Address>();
CreateMap<AddressRequestModelList, List<Address>>()
.ConstructUsing(
(src, context) => context.Mapper.Map<List<Address>>(src.AddressRequestModel));
}
}
public IEnumerable<AddressDto> CreateAddress(AddressRequestModelList addressRequestModel)
{
var requestModel = _mapper.Map<List<Address>>(addressRequestModel);
//...
}