Ответ 1
Вы хотели бы использовать SqlFunctions.DateDiff
Tickets.Where(t =>
SqlFunctions.DateDiff("second", t.Date, myTicket.Date) < 120));
Я пытаюсь сделать это:
Tickets.Where(t => (t.Date - myTicket.Date) < TimeSpan.FromSeconds(120));
Я получаю сообщение об ошибке "DbArithmeticExpression должен иметь ошибку числового общего типа". Как я могу это сделать, учитывая, что мне нужна разница в TimeSpan?
Спасибо заранее.
Вы хотели бы использовать SqlFunctions.DateDiff
Tickets.Where(t =>
SqlFunctions.DateDiff("second", t.Date, myTicket.Date) < 120));
Вы также можете использовать это:
var result = db.Tickets.Where(t =>
SqlMethods.DateDiffSecond(myTicket.Date , t.Date) < 120);
Арифметика с DateTime не поддерживается в Entity Framework. Вы должны использовать один из SqlFunctions. Итак, для вашего утверждения, что-то вроде:
Tickets.Where(t =>
SqlFunctions.DateDiff("second", t.Date, myTicket.Date) < 120));