c# - 这是正确的..在执行'dbContext.SaveChanges()'命令时EF比较本地和上下文值以生成查询
解决方案
它不会更新值,因为它与加载数据相同。只有在检索之前您已将值更改为 false 时,它才会更新该值。
所以如果你想尝试看看它是否有效。
//manual update db
var selectedData = _context.TableEntity.FirstOrDefault(x => x.Id == userInputId);
if (selectedData != nul)
{
selectedData.boolean = true;
_context.SaveChanges();
}
还有一句忠告,您正在对一个where
子句进行查询BooleanProperty == true
。我建议不要更新它,因为它已经true
或者,如果您愿意,可以使用,但这将更新所有字段
_context.Entity(selectedData).State = EntityState.Modified;
_context.SaveChanges();
推荐阅读
- arrays - 解析数据并适合散列给出未预期的结果
- python - Python 输入与 input_signature 不兼容是什么意思
- modbus - 如何获取连接到 modbus 服务器的客户端的 ip?
- go - 如何使用 Go 作为客户端与 websocket 服务器通信
- python - 我应该将 __init__.py 添加到 git 存储库吗?
- javascript - 'object HTMLUListElement' 与我试图在我的网页上生成的内容一起打印
- qt3d - 拾取事件有时是错误的,但光线投射命中总是正确的
- scala - 可以用通配符表示的存在类型导致不同的行为
- r - R:从两个列表创建一个数据框
- sql-server - 在 select 语句中使用 like vs charindex 的性能差异是什么?