Массовое обновление добавить ко многим ко многим с EF Extended?
У меня есть ситуация, когда мне нужно добавить новый элемент в свойство для группы объектов, которая имеет отношение многие ко многим. Есть ли способ сделать это навалом, используя EntityFramework.Extended? Что-то вроде...
Ctx.Foos
.Where(f => fooIds.Contains(f.FooId))
.Update(f => f.Bars.Add(bar)) // <-- what would go here???
Очевидно, что часть Update() не является правильной. В настоящее время я обошел это, извлекая набор и просматривая. Просто интересно, есть ли лучший способ.
1 ответ
Краткий ответ: НЕТ
Метод Update() позволяет обновлять только свойства, непосредственно связанные с сущностью. Так как вы хотите обновить много или много отношений (не свойство), эта библиотека не позволяет это делать.
Отказ от ответственности: я владелец проекта http://entityframework-extensions.net/
Лучший и самый быстрый способ, если вам нужна производительность, - это использовать библиотеку Entity Framework Extensions с методом BulkSaveChanges.
Ctx.Foos
.Where(f => fooIds.Contains(f.FooId))
.ToList()
.ForEach(f => f.Bars.Add(bar))
Ctx.BulkSaveChanges();