Мой запрос 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, показывают одну и ту же метку времени для каждого уникального идентификатора части, но прямой запрос в 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 дней, но я не знаю, что я делаю неправильно или что-то не так с SQL, генерируемым EF.
Любой совет будет принят с благодарностью. Спасибо.