.net core “我的代码”中显示缺少类型映射配置异常
我在控制器中有以下代码并显示异常.net core “我的代码”中显示缺少类型映射配置异常,.net-core,automapper,repository-pattern,.net Core,Automapper,Repository Pattern,我在控制器中有以下代码并显示异常 [HttpGet("{id}")] public IActionResult GetCategoryGoalsById(int id) { try { var categories = _unitOfWork.Category.GetCategoryByGoalId(id); if (categories == null)
[HttpGet("{id}")]
public IActionResult GetCategoryGoalsById(int id)
{
try
{
var categories = _unitOfWork.Category.GetCategoryByGoalId(id);
if (categories == null)
{
_loggerManager.LogError($"Category with id: {id}, hasn't been found in db.");
return NotFound();
}
else
{
_loggerManager.LogInfo($"Returned category with id: {id}");
var categoryResult = _mapper.Map<CategoryDetailVm>(categories);
return Ok(categoryResult);
}
}
catch (Exception ex)
{
_loggerManager.LogError($"Something went wrong inside categoryResult action: {ex.Message}");
return StatusCode(500, "Internal server error");
}
}
模块类的vm类编写为:
public class CategoryDetailVm
{
public int Id { get; set; }
public string CategoryName { get; set; }
}
public IEnumerable<Category> GetCategoryByGoalId(int goalId)
{
return FindByCondition(g => g.Goals.Id.Equals(goalId)).ToList();
}
代码使用UnitofWork以存储库模式编写,存储库部分编写为:
public class CategoryDetailVm
{
public int Id { get; set; }
public string CategoryName { get; set; }
}
public IEnumerable<Category> GetCategoryByGoalId(int goalId)
{
return FindByCondition(g => g.Goals.Id.Equals(goalId)).ToList();
}
CategoryDetailVm\r\nSystem.Object->
EthosAPI.ViewModelEntities.CategoryDetailVm“}系统.Exception
{AutoMapper.AutoMapperMappingException}
似乎您缺少自动映射,您添加了它吗? 例如,
var config=new-MapperConfiguration(cfg=>cfg.CreateMap());
此外,您正在将一个对象映射到整个列表,因此还应该具有列表的映射,请参见:
所以
var categoryResult=\u mapper.Map(categories);
应该更像var categoryResult=\u mapper.Map(categories);
或其他什么东西。谢谢,代码现在正在运行:使用:var categoryResult=\u mapper.Map(categories);