实体框架查询忽略我的orderby

时间:2014-10-24 11:54:43

标签: c# mysql asp.net entity-framework

我自己有这个SQL查询

选择 db_accounts_last_contactsiddbe_accounts_last_contactslast_contact_datedb_accounts_last_contactsdescriptiondb_accounts_last_contactsfollow_up_datedb_accounts_last_contactsspoke_to_person_iddb_accounts_last_contactsaccount_id FROM db_accounts_last_contactsdb_companies     在db_companiesid = db_accounts_last_contactsaccount_id     ORDER BY db_accounts_last_contactslast_contact_date DESC

返回last_contact_date命令的结果。

现在我有我的实体框架查询

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

为什么我的实体框架查询没有拿起我的订单?或者,如果这就是为什么我总是拉出第一个?

2 个答案:

答案 0 :(得分:0)

您需要选择要排序的属性并将其作为lambda表达式传递给OrderByDescending 像这样:

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

我希望这会有所帮助。

Linq Orderby Descending Query

答案 1 :(得分:0)

对于迟到的回答感到抱歉,

最后我要做的是创建一个视图并通过EDMX文件导入它,然后用它来取出我的结果。