繁体   English   中英

如何使用LINQ按使用SQL“when”子句构造的值排序

[英]How to order by value constructed with SQL "when" clause using LINQ

这是示例,不要告诉我要规范化。 在许多情况下,这已经标准化了

这是示例查询

select lastname,firstname,gradelevel,major
    case gradelevel
    when 'Freshmen' then 1
    when 'Sophmore' then 2
    when 'Junior' then 3
    when 'Senior' then 4
    else 6
    end as gradelevelrank
    from student
order by gradelevelrank

我如何在 linq 中?

像这样的东西...

var list = (from s in student
select new 
{
   lastname,
   firstname,
   gradelevel,
   major,
   gradeLevelRank =
   (
       gradelevel == "Freshmen" ? 1 : 
       gradelevel == "Sophmore" ? 2 :
       gradelevel == "Junior" ? 3 :
       gradelevel == "Senior" ? 4 : 6
   )
})
.OrderBy(gl => gl.gradeLevelRank)
.ToList();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM