c# - .NET 缺少类型映射配置或不支持的映射?
问题描述
在我的控制器中,我有这种方法可以通过仅包含一对值的 DTO 更新模型,以便读取只需更新这两个值的 JSON。
[HttpPut("{id}")]
public async Task<IActionResult> UpdateSituation(int id, SituationForApprovalDto SituationForApprovalDto)
{
var situation = await _repo.GetSituation(id);
_mapper.Map(SituationForApprovalDto, situation);
return NoContent();
}
但是当我启动应用程序时,终端会这样描述:
fail: Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware[1]
An unhandled exception has occurred while executing the request.
AutoMapper.AutoMapperMappingException: Missing type map configuration or unsupported mapping.
Mapping types:
SituationForApprovalDto -> Situation
Amaz.API.Dtos.SituationForApprovalDto -> Amaz.API.Models.Situation
at lambda_method(Closure , SituationForApprovalDto , Situation , ResolutionContext )
at Amaz.API.Controllers.SituationController.UpdateSituation(Int32 id, SituationForApprovalDto SituationForApprovalDto) in D:\Project6\Amaz\Amaz.API\Controllers\SituationController.cs:line 96
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|19_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
我的方法有什么问题吗?
解决方案
推荐阅读
- sql - TSQL:如何格式化时间:'0.729166667' 像 Excel 一样:'5:30:00 pm'
- firebase - 为什么在 Github Actions 中分离作业而不是添加步骤?
- python - 在 python 生成器函数中有条件
- https - 向受保护的 GitLab 页面发出 HTTPS 请求
- azure - 如何在 azure Release 管道中使用 Linux 代理运行 vstest?
- python - 如何在python中获取与同一项目相关但在不同日期的行并使用第一个和最后一个日期的值创建列?
- angular - 从服务中获取模拟值的问题,该服务返回组件中的可观察值
- python - 多数据的 MLP 训练
- sympy - 包含复指数的多项式的 factor_list 中的错误
- mysql - 如何从存储库中导出 Workbench 中的 mysql 数据库