0

У меня возникла ситуация, когда мне нужно добавить новый элемент в свойство для группы объектов, которая имеет отношения «многие ко многим». Есть ли способ сделать это массово, используя EntityFramework.Extended? Что-то вроде ...Массовое обновление добавляет многих-ко-многим с EF Extended?

Ctx.Foos 
    .Where(f => fooIds.Contains(f.FooId)) 
    .Update(f => f.Bars.Add(bar)) // <-- what would go here??? 

Уверен, что деталь Update() неверен. В настоящее время я работал над этим, получая набор и перебираю. Просто интересно, есть ли лучший способ.

ответ

0

Короткий ответ: NO метод

Обновление() позволяет только обновить свойства, непосредственно связанные с объектом. Поскольку вы хотите обновить многие или многие отношения (а не свойство), эта библиотека не позволяет это делать.

Отказ от ответственности: Я владелец проекта Entity Framework Extensions

Лучший & быстрый способ, если вам нужна производительность является с помощью библиотеки Entity Framework Extensions с помощью метода BulkSaveChanges.

Ctx.Foos 
    .Where(f => fooIds.Contains(f.FooId)) 
    .ToList() 
    .ForEach(f => f.Bars.Add(bar)) 

Ctx.BulkSaveChanges();