У меня была проблема с запросом LINQ сегодня, и после некоторой отладки я смог решить проблему, но мне кажется, что работа LINQ мне кажется ошибкой. Вот что у меня было:
var myitem = context
.items
.OrderByDescending(x => x.DateEdited)
.FirstOrDefault(x => x.fkId == myFkId && x.DateEdited < someDate);
В моей базе данных у меня есть таблица с некоторыми записями, и я хочу получить самую последнюю запись, которая старше, чем "someDate" и которая имеет определенный внешний ключ в столбце. Вышеуказанный запрос не сработал. Он возвращал самую старую запись с соответствующим внешним ключом. В итоге мне пришлось переписать мой запрос следующим образом, чтобы он заработал:
var myitem = context
.items
.Where(x => x.fkId == myFkId && x.DateEdited < someDate)
.OrderByDescending(x => x.DateEdited)
.FirstOrDefault();
В процессе отладки я обнаружил, что x.DateEdited
Кто-нибудь еще сталкивался с этой проблемой? Это ошибка или ожидаемая функциональность?