2009-06-30 62 views
5

EntitySQLクエリでEntityObjectを使用してMSSQL DBからレコードを取得しようとしています。 私はフィルタに使用しているフィールドはdatetimeの型です。 ミリ秒単位で投影された生成されたクエリは、SQL Serverに何も返されません。 ミリ秒を追加すると結果が得られます。Entity SQLはミリ秒単位でdatetimeを比較します

どのようにEntitySQLを使用してミリ秒単位で結果を得ることができますか?

ありがとうございました。

答えて

3

それはエレガントではないのですが、これは私の仕事:

foos.SingleOrDefault(f => f.EntryDate.Year == bar.EntryDate.Year && 
          f.EntryDate.Month == bar.EntryDate.Month && 
          f.EntryDate.Day == bar.EntryDate.Day && 
          f.EntryDate.Hour == bar.EntryDate.Hour && 
          f.EntryDate.Minute == bar.EntryDate.Minute && 
          f.EntryDate.Second == bar.EntryDate.Second); 
1

これを実行する1つの方法は、datetime列がsmalldatetime(ミリ秒単位ではない)に変換される、データのビューを作成することです。

次に、ビューをエンティティ・フレームワーク・モデルに追加し、ビューを介してデータを読み取ります。

希望はこれはあなただけでフィルタリングする新しい日時(binaryValue)を行うと、それと比較したときに私が見つけた

シラーズ

0

回避策は、その後、().ToBinaryとして初期フェッチ店の日にあるのに役立ちます。

関連する問題