У меня есть простой метод, чтобы получить все недавно измененные объекты из DbSet
в EntityFramework:
public List<JobModel> GetJobs()
{
return db.Jobs
.Include(j => j.JobStatus)
.Include(j => j.JobResolution)
.Include(j => j.Process)
.Where(j => (DateTime.Now - j.ModifiedDtm).Days < 2)
.ToList();
}
Это прекрасно работает, без части запроса .Where(...)
.Но когда я добавляю этот последний бит, я получаю следующие три исключения:
Исключение: «System.ArgumentException» в EntityFramework.dll
Исключение: «System.ArgumentException»в EntityFramework.dll
Возникло исключение: «System.ArgumentException» в EntityFramework.SqlServer.dll
Все строки в db.Jobs
имеют действительное значение ModifiedDtm
, которое является предшествующимдо DateTime.Now
.Что я делаю неправильно?Я попытался переместить метод Where()
выше Include()
, но безуспешно ...
ОБНОВЛЕНИЕ
Благодаря @CamiloTerevinto я получил немного большеинформативное сообщение об ошибке.Я до сих пор точно не понимаю, что это значит ...
Аргументы DbArithmeticExpression должны иметь общий числовой тип.