2

我正在尝试使用扩展的实体框架进行批量更新,但我不确定如何执行此操作。

到目前为止,这是我拥有的以下代码:

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


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

通过上面的查询,它返回 1000 个订单列表。

所以我要实现的目标:更新 custListID where OrderListID in listIds above

现在我正在尝试使用扩展的实体框架。

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

请告知我如何实现这一目标。

4

1 回答 1

4

您正在寻找这种语法:

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

Contains被翻译成 SQLIN语句。

于 2013-10-09T13:25:56.330 回答