【发布时间】:2019-06-17 18:43:00
【问题描述】:
祝大家今天好!
有这样的代码
var userRoles = context.UserRoles.Where(ur => ur.UserId == id);
if (userRoles.Any())
{
context.UserRoles.RemoveRange(userRoles);
}
var userCars = context.UserCars.Where(uc => uc.UserId == id);
删除前需要去掉多余的SELECT代码:
context.UserRoles.RemoveRange (userRoles);
如何做得更好?
如果 RemoveRange 循环遍历传入的集合,那么对于 UserCars 集合中的每条记录,将对数据库执行单独的查询,这是不好的。样本应该在同一个请求中:
var userCars = context.UserCars.Where (uc => uc.UserId == id);
如何做得更好?
此致,米哈伊尔
【问题讨论】:
-
几个选项here.
标签: entity-framework linq