Пакетное обновление с использованием Entity Framework расширено

var IDsToUpdate = db.Orders.Where(x => listOfIDs.Contains(x.ID));

db.Orders.Update(IDsToUpdate , x => new Order{ OrderState = "TEST STATE" });

Это вызывает ошибку во время выполнения:

Запрос должен иметь тип ObjectQuery или DbQuery.\ R \n Параметр имени: источник

Я использую EF 6.0 и EF Extended 6.0 и.NET 4

Мне нужно сделать пакетное / массовое обновление, так как в противном случае производительность не приемлема.

listOfIDs имеет тип List<string>

1 ответ

Вы запускаете обновление для самого запроса.

db.Orders
.Where(x => listOfIDs.Contains(x.ID))
.Update(x => new Order{ OrderState = "TEST STATE" });
Другие вопросы по тегам