You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TryUpdateModelAsync调用异常:识别模型却无法读取属性求助

解决TryUpdateModelAsync中属性找不到的编译错误

兄弟,我一眼就揪出问题所在了——这就是个大小写拼写错误,还附带个小语法问题,咱们一步步捋清楚:

先看你代码里的两处关键细节:

  1. 你给实体属性赋值时写的是:Answer.AnswerTimestamp = DateTime.Now;——这里的属性名是AnswerTimestamp(注意是Timestamp,小写的s)
  2. 但在TryUpdateModelAsync的参数里,你写成了p.AnswerTimeStamp——这里把Timestamp拆成了TimeStamp(大写的S),你的Answer实体类根本没有这个拼写的属性,所以IntelliSense自然报错找不到。

另外,你代码里的p.SelectedAnswer还少了=>,这也是语法错误,得一起修正。

修正后的代码应该是这样:

// 保存更改
await TryUpdateModelAsync(
    Answer, "Answer", p => p.AnswerTimestamp, p => p.SelectedAnswer);
// 保存更改
await dbContext.SaveChangesAsync();

至于你说另一个页面相同逻辑能正常运行,那大概率是另一个页面的模型属性名就是AnswerTimeStamp(大写S),或者你在那边刚好写对了拼写。

最后给你两个排查小技巧:

  • 直接去看Answer实体类的定义,确认属性名的大小写和拼写,别光依赖IDE提示;
  • 当IDE识别到类型但不出属性提示时,优先检查自己的拼写——十有八九是打错字了。

内容的提问来源于stack exchange,提问作者S-Vuk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:31:26