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

时间:2013-08-11 18:50:45

标签: entity-framework-5 navigation-properties

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

我看到这可以用“普通”属性完成,这样:

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

收集有类似的东西吗? :

context.Entry(blog).Collection..???

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:-1)

尝试:

RepositoryContext.Attach(entity);
var dbEntry = this.RepositoryContext.Entry(entity);
dbEntry.Collection("Addresses").IsModified = true;