gpt4 book ai didi

c# - Entity Framework - 自动变更检测的优势是什么?

转载 作者:行者123 更新时间:2023-11-30 18:03:42 24 4
gpt4 key购买 nike

When working with the EntityObject derived types or change-tracking proxy objects, the Entity Framework automatically tracks changes made to entities as they occur

这给我带来了什么好处?如果没有这个,当我调用 SaveChanges 并且我的 POCO 正确保留时,我的更改仍然会被检测到。

还有,为什么很多EF的在线教程在修改之后都会明确的把state改成modified,这有什么用呢?

context.Entry(model).State = EntityState.Modified;

最佳答案

EF 跟踪您的实体的更改,因此当您调用 SaveChanges() 时,它会知道要在数据库中更新哪些实体,即 - 生成什么 SQL 并针对数据库运行。


下面一行的原因是附加一个当前未被跟踪的模型并将其状态设置为已修改。

context.Entry(model).State = EntityState.Modified;

如果您自己创建了实体的实例,则需要这样做,例如-

var customer = new Customer();

这不会将您的客户添加到 DbContext,因此不会对其进行跟踪。因此,您需要为此使用 context.Entry(customer)。

关于c# - Entity Framework - 自动变更检测的优势是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7024269/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com