以下是我的作业中的一些数据库设计
Customer
--------
CustomerID (PK)
Cake
-------
CakeID (PK)
Cart
-------
CustomerID (PK, FK)
CakeID (PK, FK)
我想在Cart Repository类中创建一个函数clearUserCart(User user)
,但我不知道如何使用指定用户删除所有行的函数。
编辑:
我已经想出了如何做到这一点,只需使用返回getCartOfUser(User user)
的{{1}}。然后执行foreach循环删除。
在SQL中,它只能通过一行List<Cart>
来实现,实体框架中是否有一个等效的一行语句?
答案 0 :(得分:1)
如果您使用的是EF 6,则可以使用RemoveRange方法。
所以它看起来像这样;
context.Cart.RemoveRange(cartItem => cartItem.CustomerID == CustomerToDelete);
答案 1 :(得分:0)
1)您可以使用context.Carts.RemoveRange(queryable.Where(c => c.CustomerID == <the cust id>)).
2)您可以添加对Entity Framework Extended Library的引用,并使用此语法context.Carts.Where(c => c.CustomerID == <the cust id>).Delete()