加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

想要一个Query在Linq查询中按变量排序

发布时间:2021-03-08 20:32:01 所属栏目:MsSql教程 来源:网络整理
导读:如何通过Column变量进行排序,因为我在页面上有一个下拉列表,我想根据在此下拉列表中选择的sord顺序显示网格,例如价格,代码,评级,描述等等,我不想为每个单独写一个查询柱. from lm in lDc.tbl_Productswhere lm.TypeRef == pTypeId orderby lm.Code ascendi

如何通过Column变量进行排序,因为我在页面上有一个下拉列表,我想根据在此下拉列表中选择的sord顺序显示网格,例如价格,代码,评级,描述等等,我不想为每个单独写一个查询柱.

from lm in lDc.tbl_Products
where lm.TypeRef == pTypeId
 orderby lm.Code ascending
 select new;

解决方法

假设您想通过SQL进行排序,那么您需要传递排序列/类型.查询将被推迟,直到您实际执行select操作,以便您可以逐步构建查询,并在完成后执行它,如下所示:
// Do you query first.  This will NOT execute in SQL yet.
var query = lDC.tbl_Products.Where(p => p.TypeRef == pTypeId);

// Now add on the sort that you require... you could do ascending,descending,// different cols etc..
switch (sortColumn)
{
    case "Price":
        query = query.OrderBy(q => q.Price);
        break;
    case "Code":
        query = query.OrderBy(q => q.Code);
        break;
    // etc...
}

// Now execute the query to get a result
var result = query.ToList();

如果您想在SQL之外执行此操作,那么只需获得没有排序的基本结果,然后根据您需要的排序条件将OrderBy应用于结果库.

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读