为什么即使员工 ID 是主键,ModelState 也无效

Why ModelState is not valid even though Employee ID is the primary key

提问人:Hassan Shahzad 提问时间:11/2/2023 最后编辑:Luke VoHassan Shahzad 更新时间:11/2/2023 访问量:41

问:

为什么即使员工 ID 是主键,模型状态也无效?即使我没有在 上使用数据注释。[Required]Employee ID

就我而言,使用数据库优先方法,ASP.NET Core 7.0,以及创建和编辑相同的操作。但是编辑大小写 100% 工作正常。但是当我们创建一个新员工时,就会发生该错误。

模型截图可在此处获得:

enter image description here

asp.net-mvc asp.net-core

评论

2赞 Dai 11/2/2023
不应在 ASP.NET 中使用 EF 实体类作为双向视图模型 - 这样做会导致此类问题,因为与 EF 实体相比,视图模型需要不同的属性成员(和属性/注释),但也因为过度发布攻击。别这样。
0赞 Luke Vo 11/2/2023
这里肯定有别的问题。属性永远不会使 ModelState 无效。你能发布ModelState的错误消息吗?int
0赞 Qing Guo 11/3/2023
在 asp.net core 6+ 中,即使您没有在属性上使用数据注释,它也会显示 null 警告。但是 int 默认值为 0,它不会无效。您能分享一下 Employee 模型的完整代码吗?并尝试在 ModelState.IsValid 设置断点以查看结果。[Required]

答: 暂无答案