2014-10-24 5 views
1

Я сам этот SQL-запросEntity Framework запрос игнорирует мое OrderBy

ВЫБРАТЬ db_accounts_last_contacts. id, dbe_accounts_last_contacts. last_contact_date, db_accounts_last_contacts. description, db_accounts_last_contacts. follow_up_date, db_accounts_last_contacts. spoke_to_person_id, db_accounts_last_contacts. account_id ОТ db_accounts_last_contacts, db_companies ГДЕ db_companies. id = db_accounts_last_contacts. account_id ЗАКАЗАТЬ db_accounts_last_contacts. last_contact_date DESC

Который возвращает мои результаты, заказанные last_contact_date.

Теперь у меня есть Entity Framework запрос

var query = (from c in context.accounts_companies 
      select new AccountSearchResultModel() 
      { 
       LastContacted = (from calc in context.communique_accounts_last_contacts 
            where calc.account_id == companyId 
            orderby calc.last_contact_date descending 
            select calc.last_contact_date).FirstOrDefault() 
      }); 

Однако, когда я иду вперед и делать свою ToList на нем, мои результаты никогда не заказал Вот мой стол маркированного enter image description here

Здесь мой список заказанных с использованием SQL-запроса enter image description here

Почему мой запрос на инфраструктуру сущности не поднимает мой заказ? Или, если это то, почему я всегда вытаскиваю первый?

+0

И какой SQL сгенерирован? Базовая отладка, пожалуйста. Это также может помочь предоставить номера версий соответствующего программного обеспечения - это EF в этом случае. – TomTom

+0

TomTom, указанный выше, является фрагментом моего запроса, если я вставляю весь свой запрос в sql, используя мой отладчик, чтобы увидеть, что SQL my sql имеет более 600 строк, поэтому не уверен, могу ли я опубликовать свой код SQL – Canvas

ответ

0

Извините за поздний ответ,

То, что я должен был сделать, в конце концов, было создать представление и импортировать его через файл EDMX, а затем использовать это, чтобы вытащить мои результаты.

0

Вы должны выбрать свойство для сортировки и передать его как лямбда-выражения в OrderByDescending как это:

.OrderByDescending(x => x.calc.last_contact_date); 

Я надеюсь, что это помогает.

Linq Orderby Descending Query

+0

Я попробовалLastContacted = (from известково в context.communique_accounts_last_contacts где calc.account_id == CompanyID // OrderBy calc.last_contact_date по убыванию выберите calc.last_contact_date) .OrderByDescending (х => x.Value) .FirstOrDefault() Однако это не вступили в силу – Canvas

Смежные вопросы