Пакетное обновление с использованием 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
заявление.