我正在使用Entity Framework 5.0,我想知道是否有一种方法可以将导航属性标记为已修改。
我看到这可以通过“正常”属性来完成,方法是:
context.Entry(blog).Property(u => u.Name).IsModified = true
是否有类似的收藏品? :
context.Entry(blog).Collection..???
不,这是不可能的,因为最后修改后的属性用于构建更新语句。由于更新语句仅修改原始属性,因此无法将导航属性标记为已修改。
您必须将Collection
对象本身的属性标记为已修改(或如果Collection
是对象集合,则将其标记为对象。
请尝试:
RepositoryContext.Attach(entity);
var dbEntry = this.RepositoryContext.Entry(entity);
dbEntry.Collection("Addresses").IsModified = true;