日期:2014-05-20  浏览次数:20671 次

如何实现case功能
如何用linq实现以下sql语句
SELECT * from
  order by case TABLE_NAME     
    when '值1' then 9       
    when '值2' then 8
    when '值3' then 7
    else
         1
    end
 desc

------解决方案--------------------
用三目运算可以实现,
------解决方案--------------------
引用:
用三目运算可以实现,

参考http://tanyanbo2.blog.163.com/blog/static/97339159201112811555137/
------解决方案--------------------
引用:
如何用linq实现以下sql语句
SELECT * from
  order by case TABLE_NAME     
    when '值1' then 9       
    when '值2' then 8
    when '值3' then 7
    else
         1
    end desc
             ……

将原值查出,通过字典查值
------解决方案--------------------
三元运算,switch等都可以
------解决方案--------------------
本帖最后由 q107770540 于 2013-03-04 14:15:09 编辑
楼主的需求可以这样来实现:
int OrderTable(string table_name)
{
   switch(table_name)
   {
     case "值1" : return 9;
     case "值2" : return 8;
     case "值3" : return 7;
     case "值4" : return 6;
     case "值5" : return 5;
     ...
     defult: return 1;