使用EntityFramework.Extended进行批量更新

Sup*_*ode 3 entity-framework-4 c#-4.0 entity-framework-extended

我试图使用实体框架扩展使用批量更新,但我不确定如何做到这一点.

到目前为止,我有以下代码:

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


listIds = listIds.Union(hem.ProductList.Where(x => x.CustListID == custListID).ToList().Select(y => y.OrderListID)).ToList();
Run Code Online (Sandbox Code Playgroud)

使用上面的查询它返回1000个订单列表.

所以我想要实现的目标:更新上面listIds中OrderListID的custListID

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

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

请告诉我如何实现这一目标.

Ger*_*old 5

您正在寻找这种语法:

db.ProductList.Update(x => listIds.Contains(x.OrderListID),
                           x => new ProductList { CustListID = custListID });
Run Code Online (Sandbox Code Playgroud)

Contains被转换为SQL IN语句.