我正在使用 Entity Framework 5.0,我想知道是否有办法将导航属性标记为已修改。
我看到这可以通过“正常”属性来完成,这样:
context.Entry(blog).Property(u => u.Name).IsModified = true
有没有类似的收藏?:
context.Entry(blog).Collection..???
我正在使用 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;