16

私はこれをやろうとしています:

Tickets.Where(t => (t.Date - myTicket.Date) < TimeSpan.FromSeconds(120));

「DbArithmeticExpression 引数には共通の数値型が必要です」というエラーが表示されます。TimeSpan の差が必要であることを考えると、どうすればこれを行うことができますか?

前もって感謝します。

4

3 に答える 3

27

SqlFunctions.DateDiffを使用したいでしょう

Tickets.Where(t => 
      SqlFunctions.DateDiff("second", t.Date, myTicket.Date) < 120));
于 2012-04-18T18:09:01.673 に答える
4

これを使用することもできます。

var result = db.Tickets.Where(t => 
       SqlMethods.DateDiffSecond(myTicket.Date ,  t.Date) < 120);
于 2016-02-03T09:07:06.350 に答える
2

DateTime を使用した算術演算は、Entity Framework ではサポートされていません。SqlFunctionsのいずれかを使用する必要があります。したがって、あなたの声明については、次のようなものです。

Tickets.Where(t => 
      SqlFunctions.DateDiff("second", t.Date, myTicket.Date) < 120));
于 2012-04-18T18:17:21.147 に答える