情况当SQL到LINQ时

时间:2017-01-19 17:07:06

标签: c# sql sql-server linq

我还是LINQ的新手,并尝试转换此SQL命令

Id     | TitleName
------ | ------
1      | Accounts
2      | Buyer
3      | Engineer
4      | Other
5      | Apple  


SELECT Id, TitleName

    FROM dbo.Title

       ORDER BY 

         CASE WHEN TitleName = 'Other'

            THEN 0 ELSE 1 END DESC, TitleName ASC

这将选择表格并按字母顺序上升

然后它抓住'其他'并强制它到底部。

所以它最终会像这样

Id     | TitleName
------ | ------
1      | Accounts
5      | Apple  
2      | Buyer
3      | Engineer
4      | Other

这适用于SQL, 使用LINQ实现此目的的最佳方法是什么?

编辑:问题已解决

  var queryAllCustomerTitle = from cust in _titleRepository.Table
                              orderby cust.TitleName == "Other" ? 1 : 0, cust.TitleName
                              select cust;

1 个答案:

答案 0 :(得分:2)

使用三元运算符

getUsername()