LINQ クエリが奇妙な結果を返しています。
LINQ クエリ (正しくない結果を返す):
IEnumerable<PART_EVENTS> parts = db.PART_EVENTS
.Where(p => p.OP == op.NCM_DB_NAME && p.Timestamp > tempBegin && p.Timestamp <= tempEnd)
.OrderBy(p => p.PART_ID_NUM)
.ThenBy(p => p.Timestamp)
.ToList();
Visual Studio デバッガーで返された結果は、一意のパーツ ID ごとに同じタイムスタンプを示しますが、SQL Developer またはクエリ ウィンドウ (サーバー エクスプローラー) で直接クエリを実行すると、異なるタイムスタンプが表示されます (実際、各行のタイムスタンプは異なるはずです)。
SQL クエリ (正しい結果を返す):
select *
from PART_EVENTS
where OP = 'OP20B'
AND "Timestamp" > to_date('11/28/2012 07:00 am', 'mm/dd/yyyy hh:mi am')
AND "Timestamp" <= to_date('11/28/2012 10:58 am', 'mm/dd/yyyy hh:mi am')
order by part_id_num, "Timestamp"
これを修正するために多くのことを試し、2日間これを続けましたが、何が間違っているのか、またはEFによって生成されたSQLに問題があるのか わかりません。
どんなアドバイスでも大歓迎です。ありがとうございました。