我有以下内容,我想排序:
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之前出现。(假设代码是数字字段)
对此进行排序的最佳方法是什么,因此代码按数字排序?
答案 0 :(得分:7)
您可能希望使用ThenBy扩展方法能够按多个字段排序;) 在您的情况下将是
return list.OrderBy(m=>m.L.DP.Name).ThenBy(m => m.L.Code);
答案 1 :(得分:0)
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);