我正在使用Entity Framework 5.0,我想知道是否有办法将导航属性标记为已修改。
我看到这可以用“普通”属性完成,这样:
context.Entry(blog).Property(u => u.Name).IsModified = true
收集有类似的东西吗? :
context.Entry(blog).Collection..???
答案 0 :(得分:0)
不,这是不可能的,因为最后修改的属性用于构建更新语句。由于update语句只修改原始属性,因此无法将导航属性标记为已修改。
您必须将Collection
对象本身的属性标记为已修改(或Collection
中的对象(如果它是对象集合))。
答案 1 :(得分:-1)
尝试:
RepositoryContext.Attach(entity);
var dbEntry = this.RepositoryContext.Entry(entity);
dbEntry.Collection("Addresses").IsModified = true;