Сбор грубой силы в Entity Framework - PullRequest
0 голосов
/ 17 июня 2019

Всем доброго времени суток!

Есть такой код

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);

Как это сделать лучше?

С уважением, Михаил

1 Ответ

0 голосов
/ 18 июня 2019

если я правильно понял, вы хотите выполнить выборку и удаление в одном запросе

я думаю, что это должно помочь вам Entity Framework Plus Пакетное удаление

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...