gpt4 book ai didi

entity-framework - MergeOption.NoTracking、ObjectContext.Detach、SetChangeTracker(Null) 之间的区别

转载 作者:行者123 更新时间:2023-12-04 07:25:41 24 4
gpt4 key购买 nike

你好
如果有人可以详细说明这三者之间的区别,我是 EF 的新手,有时 MergeOption.NoTracking 碰巧起作用,而有时 ObjectContext.Detach,但我从来没有理解它的要点。
我想知道我应该在哪些情况下使用它们。此外,如果有一个对象图附加到某个实体(通过触发 Include 函数或通过调用 EntityReference.Load())应该调用什么
1.) 我不希望其他对象附加到实体
2.) 我想要实体引用的所有对象

如有任何帮助,我们将不胜感激。
问候
海伦

最佳答案

MergeOption.NoTracking 用于提高加载不会修改的实体的性能。在这种情况下,实体不会被上下文跟踪,但它仍然是附加的并且延迟加载有效

ObjectContext.Detach 从对象上下文范围中完全删除实体,因此不会跟踪实体并且延迟加载不起作用

IEntityWithChangeTracker.SetChangeTracker 更像是 EntityObject 的基础设施。当实体被具体化并附加到上下文时,它在 EF 内部被大量使用。

关于entity-framework - MergeOption.NoTracking、ObjectContext.Detach、SetChangeTracker(Null) 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5673327/

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