簡體   English   中英

LINQ to Entities / IQueryable:在多個字段上排序

[英]LINQ to Entites/IQueryable: Sorting on multiple fields

我要分類以下內容:

IQueryable<Map> list;
list = from item in ctx.MAP
         .Include("C")
         .Include("L")
         .Include("L.DP")
       select item;
return list.OrderBy(m=>(m.L.DP.Name + m.L.Code));

可以,但是按字母順序排序-因此12在9之前。(假定代碼是一個數字字段)

對代碼進行數字排序的最佳方法是什么?

您可能希望使用ThenBy擴展方法,以便能夠按多個字段進行排序;)在這種情況下,

 return list.OrderBy(m=>m.L.DP.Name).ThenBy(m => m.L.Code);
 var results = db.Blogs.AsEnumerable()
                    .Select(sr => new
                    {
                        Searchresult = sr,
                        Words = Regex.Split(sr.Name, @"[^\S\r\n {1,}").Union(Regex.Split(sr.Name2, @"[^\S\r\n]{1,}"))
                    })
                    .OrderByDescending(x => x.Words.Count(w => {
                        foreach (var item in searchTerms)
                        {
                            if(w.ToLower().Contains(item))
                            {
                                return true;
                            }
                        }
                           return false;
                    }))
                    .Select(x => x.Searchresult);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM