[英]Model binding stopped working after migrating from .NET Core 2.2 to 3.0-preview-9
[英]Asp.Net Core - Model Binding For Generic Model Stopped Working After Upgrade To Core 3.0
我有一个刚刚从 2.2 升级到 3.0 的 Asp.Net Core Web Api 项目。 在我的应用程序中,我有实体,键可以是字符串、guid、int(很多旧代码)。 为了以通用方式管理一些 API 请求,我创建了这个视图 model:
public class EntityRequestViewModel<T>
{
[Required]
public T Id;
}
我在不同的控制器中使用过
[HttpPost]
[Route("delete")]
public async Task<IActionResult> Delete([FromBody]EntityRequestViewModel<Guid> deleteEntityRequest)
{
//Do something
}
还有很多视图模型扩展了这个 EntityRequestViewModel。 这很好用,但由于某种原因,升级后,该值未绑定到 Id。
通用参数很好,你做错的是这是一个公共字段:
public T Id;
model 绑定真正需要的是具有公共设置器的属性:
public T Id { get; set; }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.