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

C#EF 6.0-更新添加到上下文集合的对象上的导航属性集合,c#,entity-framework,C#,Entity Framework,向上下文表集合添加对象时,导航属性集合(可能是所有导航属性)不会更新 例如 A类有B类的集合。 一个新的B被添加到context.B的集合中,在该集合中,可以根据提供的键值从A.B的集合中检索它。它可以直接从context.B的集合中检索,但调用context.SaveChanges()时,它不能正确地添加到A.B的集合中(这是问题的关键) 在添加新对象时,缺少哪一位配置会触发A.B集合的更新来执行context.B集合?文档让我相信,只要调用SaveChanges(),它就应该“正常工作”,但

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

例如

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

在添加新对象时,缺少哪一位配置会触发A.B集合的更新来执行context.B集合?文档让我相信,只要调用SaveChanges(),它就应该“正常工作”,但事实肯定不是这样


目前,每当我将新对象添加到上下文集合时,我还必须手动将其添加到其他实体的导航属性集合中,在该集合中可以自动访问该对象。这让原本应该是简单的代码变得一团糟,让我相信要么我的设置有问题,要么我正在使用的EF中有一个主要的错误。

在另一个类似问题的评论中,我所寻找的宝石是迫使重新加载导航属性集合的

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

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

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