10

たとえば、2013 年 4 月 4 日の日付のレコードを返す必要があります。ODATA サービスの日付フィールドは {DATE: "2013-04-04T17:39:33.663"} として返されます

クエリはどのように見えるはずですか?

これまでのところ、これを行うための 3 つのオプションを見てきましたが、どれも簡単ではありません。

オプション 1: datetime'2013-04-04T12:00': これには時刻の指定が必要です

オプション 2: month(DATE) eq 04 day(DATE) eq 04 year(DATE) eq 2013: これは面倒です

オプション 3: オプション 1 を 'ge' と 'le' で使用して 2 つの日付間のレコードを取得する: これもくだらないことです。

これは、T-SQL の場合と同様に非常に単純なはずです。

4

2 に答える 2

2

さらに、 OData 要求の生成にLINQPADを使用することもできます。LINQ リクエストを行う必要があり、LINQPAD は正しい URI を生成します。例えば:

  • リンク:

from ev in Events where ev.Start >= DateTime.Now.Date select ev

  • LINQPAD は Odata URI を生成します。

    http://yoursite/_vti_bin/listdata.svc/Events()?$filter=開始日時'2013-12-05T00:00:00+01:00'
  • 正しいフォーマットに調整してください。私の場合、「+01:00」を削除します。

また、Visual Studio を使用して Odata リクエストを取得することもできます。

于 2013-12-06T07:06:07.483 に答える