Массовое обновление добавить ко многим ко многим с 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();
Другие вопросы по тегам