У меня есть объект (MyEntity
) с PK, который является FK другого объекта. MyEntity
имеет свойство DateTime
(отметка времени). Я хочу удалить из своей базы данных все записи старше указанного времени (в том числе из таблицы MyEntity
и записей из других таблиц, связанных с FK).
Я пытаюсь сделать это с помощью следующего кода, но он кажется, что RemoveRange
ничего не делает (даже если entities List
успешно заполнен). Когда я проверяю SSMS, у меня остается то же количество строк в моих таблицах до и после запуска кода.
Что мне не хватает?
DateTime dateNow = DateTime.Now;
DateTime dateLimit = dateNow.AddMinutes(-1);
List<MyEntity> entities = null;
using (MyContext context = new MyContext())
{
entities = context.MyEntity.Where(x => x.Timestamp < dateLimit).ToList();
context.MyEntity.RemoveRange(entities);
context.SaveChanges();
}