С# сущность framework 6 -How, чтобы получить счет из DbSet.RemoveRange Method
103
11
Как получить счетчик из метода DbSet.RemoveRange
? Когда я пытаюсь использовать Count()
он выдает ошибку при сохранении изменений
_dbFileManagementRepository.FileManagements.RemoveRange(_dbFileManagementRepository.FileManagements.Where(x => x.Id == serviceId && x.DateAdded < purgeDate)).Count();
_dbFileManagementRepository.SaveChanges();
Когда я назначаю его так, то ничего не удаляется при сохранении изменений
var records = _dbFileManagementRepository.FileManagements.RemoveRange(_dbFileManagementRepository.FileManagements.Where(x => x.Id == serviceId && x.DateAdded < purgeDate));
int purgeCount = records.Count();
_dbFileManagementRepository.SaveChanges();
Когда я просто запускаю это, он просто удаляет:
_dbFileManagementRepository.FileManagements.RemoveRange(_dbFileManagementRepository.FileManagements.Where(x => x.Id == serviceId && x.DateAdded < purgeDate));
_dbFileManagementRepository.SaveChanges();
спросил(а)
2021-01-14T00:10:48+03:00
1 неделя назад
добавить комментарий
пожаловаться
Решение
73
С RemoveRange вам нужны два запроса, независимо от того, что вы делаете, поэтому это должно быть хорошо для вашего дела:
var toBeRemoved = _dbFileManagementRepository.FileManagements.Where(x => x.Id == serviceId && x.DateAdded < purgeDate).ToList();
var removedCount = toBeRemoved.Count;
_dbFileManagementRepository.FileManagements.RemoveRange(toBeRemoved);
_dbFileManagementRepository.SaveChanges();
ответил(а)
2021-01-14T00:10:48+03:00
1 неделя назад
добавить комментарий
пожаловаться
Ваш ответ