Automapper:缺少类型映射配置 .NET Web API
Automapper: Missing type map configuration .NET Web API
我目前正在使用 .NET Web Api,以获取基于国家的县列表。
尝试获取县时,出现“Automapper:缺少类型映射配置或不支持的映射”异常。
我的域 Class 是:
public class County
{
public string Id { get; set; }
public string Name { get; set; }
public string CountryId { get; set; }
public virtual Country Country { get; set; }
public virtual IList<City> City { get; set; }
}
我的 DTO 是
public class CountyResponse
{
public string Id { get; set; }
public string Name { get; set; }
public string CountryId { get; set; }
}
映射配置文件:
public class CountyProfile : Profile
{
public CountyProfile()
{
CreateMap<CountyResponse, County>().ReverseMap();
}
}
我的服务ClassGetAllMethod:
public async Task<Result<List<CountyResponse>>> GetAllAsync()
{
var counties = _context.Counties.ToListAsync();
var mappedCounties = _mapper.Map<List<CountyResponse>>(counties);
return await Result<List<CountyResponse>>.SuccessAsync(mappedCounties);
}
构建正常,我也将 Country 域映射为完全相同 (1:1)。
然而,一个有效,而这个,在尝试访问 Get Endpoint 时,我收到此错误。
知道这里出了什么问题吗? (服务已注册 - 我正在使用以下内容注入它们:
public static void AddInfrastructureMappings(this IServiceCollection services)
{
services.AddAutoMapper(Assembly.GetExecutingAssembly());
}
您正在将任务(ToListAsync 的结果)映射到失败的 DTO 列表。您需要等待您的查询以便获得任务的结果,然后映射才能正常工作
var counties = await _context.Counties.ToListAsync();
var mappedCounties = _mapper.Map<List<CountyResponse>>(counties);
我目前正在使用 .NET Web Api,以获取基于国家的县列表。 尝试获取县时,出现“Automapper:缺少类型映射配置或不支持的映射”异常。
我的域 Class 是:
public class County
{
public string Id { get; set; }
public string Name { get; set; }
public string CountryId { get; set; }
public virtual Country Country { get; set; }
public virtual IList<City> City { get; set; }
}
我的 DTO 是
public class CountyResponse
{
public string Id { get; set; }
public string Name { get; set; }
public string CountryId { get; set; }
}
映射配置文件:
public class CountyProfile : Profile
{
public CountyProfile()
{
CreateMap<CountyResponse, County>().ReverseMap();
}
}
我的服务ClassGetAllMethod:
public async Task<Result<List<CountyResponse>>> GetAllAsync()
{
var counties = _context.Counties.ToListAsync();
var mappedCounties = _mapper.Map<List<CountyResponse>>(counties);
return await Result<List<CountyResponse>>.SuccessAsync(mappedCounties);
}
构建正常,我也将 Country 域映射为完全相同 (1:1)。 然而,一个有效,而这个,在尝试访问 Get Endpoint 时,我收到此错误。 知道这里出了什么问题吗? (服务已注册 - 我正在使用以下内容注入它们:
public static void AddInfrastructureMappings(this IServiceCollection services)
{
services.AddAutoMapper(Assembly.GetExecutingAssembly());
}
您正在将任务(ToListAsync 的结果)映射到失败的 DTO 列表。您需要等待您的查询以便获得任务的结果,然后映射才能正常工作
var counties = await _context.Counties.ToListAsync();
var mappedCounties = _mapper.Map<List<CountyResponse>>(counties);