У меня проблема с отношением «многие ко многим» в EF4 и провайдере npgsql.
У меня есть 3 таблицы: Order, OrderStatus и OrderStatusDict (словарь).OrderStatus - это своего рода changeLog - каждое изменение статуса заказа добавляется в таблицу OrderStatus с ее фактической датой и новым статусом. Мне нужно получить все заказы, которые имеют статус.OrderStatusDict.OrderStatusName == "Ожидание" , поэтому я делаю это так:
var lst = (from o in db.Order
where o.OrderStatus
.OrderByDescending(s => s.Date)
.FirstOrDefault()
.OrdereStatusDict.OrderStatusName == "Pending"
select o).ToList();
И я получаю исключение:
Произошла ошибка при подготовке определения команды.Смотрите внутреннее исключение для деталей.Данные: {System.Collections.ListDictionaryInternal} Внутреннее исключение: {"Метод или операция не реализованы."}} 1011 *
И похоже, что OrderByDescending убивает мой запрос, потому что, если я прокомментирую
.OrderByDescending(s => s.Date)
Все отлично работает, но я получаю самый старый OrderStatus из db: /
Можете ли вы мне помочь?Это причина провайдера или проблема EF?У вас есть какие-нибудь идеи, которые я мог бы получить другим способом?