我遇到的情况是,我需要为一组具有多对多关系的对象添加一个新项目。有没有办法使用EntityFramework.Extended批量执行此操作?有点像...
Ctx.Foos
.Where(f => fooIds.Contains(f.FooId))
.Update(f => f.Bars.Add(bar)) // <-- what would go here???
显然,Update()部分不正确。目前,我已经通过检索集合和循环来解决它。只是想知道是否有更好的方法。
答案 0 :(得分:1)
简短的回答是:否
Update()方法仅允许更新与实体直接相关的属性。由于您要更新许多或多个关系(而不是属性),因此该库不允许这样做。
免责声明:我是该项目的所有者Entity Framework Extensions
最好的&amp;如果您需要性能,最快的方法是使用Entity Framework Extensions库和BulkSaveChanges方法。
Ctx.Foos
.Where(f => fooIds.Contains(f.FooId))
.ToList()
.ForEach(f => f.Bars.Add(bar))
Ctx.BulkSaveChanges();