EntityFramework 5.0:将导航属性标记为“已修改”

问题描述 投票:1回答:2

我正在使用Entity Framework 5.0,我想知道是否有一种方法可以将导航属性标记为已修改。

我看到这可以通过“正常”属性来完成,方法是:

context.Entry(blog).Property(u => u.Name).IsModified = true

是否有类似的收藏品? :

context.Entry(blog).Collection..???
entity-framework-5 navigation-properties
2个回答
0
投票

不,这是不可能的,因为最后修改后的属性用于构建更新语句。由于更新语句仅修改原始属性,因此无法将导航属性标记为已修改。

您必须将Collection对象本身的属性标记为已修改(或如果Collection是对象集合,则将其标记为对象。


0
投票

请尝试:

RepositoryContext.Attach(entity);
var dbEntry = this.RepositoryContext.Entry(entity);
dbEntry.Collection("Addresses").IsModified = true;
© www.soinside.com 2019 - 2024. All rights reserved.