gpt4 book ai didi

c# - 如何使用 EF Core 中的集合更新分离对象?

转载 作者:行者123 更新时间:2023-11-30 16:00:59 25 4
gpt4 key购买 nike

我有一个包含集合的分离对象。我正在使用此代码附加它

EntityEntry dbEntityEntry = _context.Entry<T>(entity);
dbEntityEntry.State = EntityState.Modified;

如果我更改大部分字段,分离的对象会完美保存。问题出在该对象的集合上。集合上的更改不会持久化。我已经看到执行的查询,它只触及“主”表。所有的依赖关系都没有更新

有什么方法可以为分离的对象更新整个树?

最佳答案

问题:

EF 不知道已更改的 collectionnavigation properties。通过将 dbEntityEntry 的状态设置为 EntityState .Modified,EF只知道对象dbEntityEntry发生了改变。这意味着 EF 将只更新 dbEntityEntry 而不是它的 navigation properties

解决方案:

您可以遍历当前 dbEntityEntry 的所有集合(或导航属性),并将实体状态设置为 EntityState.Modified

另一种解决方案:请也看看。可能对您有所帮助。

Working with Self-Tracking Entities

关于c# - 如何使用 EF Core 中的集合更新分离对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39177331/

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