C#Sql到Linq检查多个案例
如何在Linq中检查多个案例(分类为“高薪”、“低薪”、“中薪”) SqlC#Sql到Linq检查多个案例,c#,linq,C#,Linq,如何在Linq中检查多个案例(分类为“高薪”、“低薪”、“中薪”) Sql select id,name,salary, case when salary <=1500 then 'under paid' when salary >=3500 then 'over paid' else 'medium pay' end as status from Person 使用三元运算符,我可以检查或CASE。否则,我必须使用if..else if.您
select id,name,salary,
case when salary <=1500 then 'under paid'
when salary >=3500 then 'over paid'
else 'medium pay' end as status
from Person
使用三元运算符,我可以检查或CASE。否则,我必须使用if..else if.您可以嵌套三元运算符语句,LINQ将其转换为CASE语句:
您可以从linq查询中调用方法。我只需要编写一个方法,然后从选择区域中调用它
var q = context.Persons.Select(c => GetStatus(c.salary));
@你能比我快一点吗+1用于创建处理它的方法
Status = c.salary < 1000 ? "under paid" :
c.salary < 2000 ? "medium paid" :
c.salary < 3000 ? "not bad paid" :
"overpaid";
new { Status = GetPaymentStatus(c.salary) }
var q = context.Persons.Select(c => GetStatus(c.salary));