Я столкнулся со сценарием, когда мне нужно выполнить массовое удаление в указанную c дату и время. Кажется, что функция пакетного удаления EF + неправильно сравнивает дату и время и выполняет действие.
Она отлично работает с другими типами полей, но только не с DateTime. Есть ли какое-то специальное форматирование, которое я должен сделать, чтобы правильно выполнить это действие?
Серверная таблица SQL серверная имеет FileCreatedDate
как DateTime2(7)
. И все записи содержат дату / время DateTime.UtcNow
, указанные в коде, поскольку первоначальный проход до этого кода создал эти записи. Это запасной вариант для очистки записей, созданных в случае возникновения ошибки.
У меня есть следующий код:
var fileCreatedDate = DateTime.UtcNow;
using (var db = new MyContextDb())
{
db.SampleModel.Where(e => e.FileCreatedDate == fileCreatedDate).Delete();
}
Этот код не работает. Он не удаляет записи, время которых соответствует критериям.
Есть идеи, в чем может быть проблема?