Библиотека Entity.Framework.Extensions (paid) имеет метод для обновления сущностей:
context.Customers
.Where(c=>c.XXX = "")
.UpdateFromQuery(c=>new Customer{ Timestamp = DateTime.UtcNow })
Библиотека Entity.Framework.Plus (бесплатно) имеет аналогичный метод для создания обновлений сущностей:
context.Customers
.Where(c=>c.XXX = "")
.Update(c=> new Customer{ Timestamp = DateTime.UtcNow })
В чем разница между этими двумя реализациями?
Из-за того, как они были реализованы, существует небольшая разница между обеими библиотеками для SQL Server. Тем не менее, они должны поддерживать все те же сценарии.
Для других поставщиков используется тот же базовый код.
В какой-то момент в будущем мы планируем сохранить эту функцию Batch Delete
и Batch Update
только в одной из наших библиотек.
Если мы захотим сохранить его под Entity Framework Extensions, мы сделаем так, чтобы эта функция была доступна бесплатно