gpt4 book ai didi

C# EF 6.0 - 更新添加到上下文集合的对象的导航属性集合

转载 作者:太空宇宙 更新时间:2023-11-03 11:57:50 25 4
gpt4 key购买 nike

将对象添加到上下文表集合时,不会更新导航属性集合(可能是所有导航属性)。

例如

A 类有 B 类的集合。新的 B 被添加到 context.B 的集合中,应该可以根据提供的键值从 A.B 的集合中检索它。它可以直接从 context.B 的集合中检索,但它不会在调用 context.SaveChanges() 时正确添加到 A.B 的集合中(这是问题的关键)。

缺少什么配置会在任何时候向 context.B 的集合中添加新对象时触发 A.B 的集合的更新?文档让我相信,只要调用 SaveChanges(),一切都应该“正常工作”,但绝对不是

目前,每当我将新对象添加到上下文集合时,我还必须手动将它添加到其他应该可访问的实体的导航属性集合中自动地。这让本来应该是简单的代码变得一团糟,让我相信我在设置方面做错了什么,或者我正在使用的 EF 中存在重大错误。

最佳答案

隐藏在另一个类似问题的评论中的是我正在寻找的强制重新加载导航属性集合的 gem。

Refresh entity framework collection property

stackoverflow.com/questions/9081244/… use
context.Entry(myPerson).Collection(p => p.Addresses).CurrentValue.Clear(); and
context.Entry(myPerson).Collection(p => p.Addresses).Load();

最后一点是我需要的重要功能部分:

context.Entry(myPerson).Collection(p => p.Addresses).Load();

关于C# EF 6.0 - 更新添加到上下文集合的对象的导航属性集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58843734/

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