Пакетное обновление с использованием EntityFramework.Extended

Я пытаюсь использовать пакетное обновление с использованием расширенной структуры Entity, но я не уверен, как это сделать.

Пока это следующий код, который у меня есть:

List<Guid> listIds = new List<Guid>();


listIds = listIds.Union(hem.ProductList.Where(x => x.CustListID == custListID).ToList().Select(y => y.OrderListID)).ToList();

с вышеуказанным запросом возвращается 1000 списков заказов.

Итак, чего я пытаюсь добиться: обновите custListID, где OrderListID в listIds выше

Сейчас я пытаюсь использовать Entity Framework Extended.

using (var db = new DBContextEntities())
{
    var rowUpdates = db.ProductList.Update(x => x.OrderListID in listIds, x => new ProductList { CustListID = custListID});
}

Посоветуйте, пожалуйста, как мне этого добиться.

1 ответ

Решение

Вы ищете этот синтаксис:

db.ProductList.Update(x => listIds.Contains(x.OrderListID),
                           x => new ProductList { CustListID = custListID });

Contains переводится в SQL IN заявление.

Другие вопросы по тегам