Результаты LINQ to Entities несовместимы с результатами запроса SQL (с ODP.net)

Мой запрос 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.

Любой совет будет принят с благодарностью. Спасибо.


person tonyapolis    schedule 28.11.2012    source источник


Ответы (1)


Непосредственно перед тем, как опубликовать свой вопрос, я решил попробовать еще одну вещь: изменить псевдоним «Timestamp» на PART_TIMESTAMP. Очевидно, LINQ не нравится указанный в кавычках псевдоним. Это решило проблему.

person tonyapolis    schedule 28.11.2012
comment
Я написал весь вопрос, и прежде чем отправить вопрос, я подумал, что попробую еще кое-что. Поскольку это сработало, и я уже написал вопрос, я решил поделиться своим ответом. В форме «Задать вопрос» даже есть раздел для ответа на собственный вопрос, поэтому я не думаю, что в этом будет что-то плохое. Я подумал, что, может быть, я избавлю кого-то еще от некоторых проблем позже, если они будут искать и найдут мое решение. Что-то не так с тем, что я сделал? - person tonyapolis; 28.11.2012