在我的asp.net应用程序中,我正在使用linq.我需要帮助if-elseif-else的语法是什么,在单行中使用linq.
genericReportList = (from CD in list select new GENERICREPORT { CITATIONNO = CD.CITATIONNO, DATE = CD.DATE, LOCATION = CD.LOCATION, //STATUS = CD.STATUS, PLATENO = Utilities.DecryptData(CD.PLATENO), PSOURCE = CD.PSOURCE, MAKE = CD.MAKE, ID = Utilities.DecryptData(CD.ID), NATIONALITY = CD.NATIONALITY, SOURCE = CD.SOURCE, NAME = Utilities.DecryptData(CD.NAME), VIOLATION = CD.VIOLATION, STATUS = CD.STATUS == short.Parse("1") ? "Complete" : "Incomplete" }).ToList(); If STATUS = CD.STATUS == short.Parse("1") ? "Complete" : and 2 for "Incomplete" and 3 for "Void"
Simon Belang.. 6
我不明白你为什么这么做short.Parse("1")
.这将始终为1.如果您想在单行中使用多个if-else,请组合三元运算符:
STATUS = CD.STATUS == 1 ? "Complete" : CD.STATUS == 2 ? "Incomplete" : "Void"
如果要在Entity Framework(或其他IQueryable
支持ORM )的上下文中使用它,它将转换为CASE WHEN
SQL语句.
我不明白你为什么这么做short.Parse("1")
.这将始终为1.如果您想在单行中使用多个if-else,请组合三元运算符:
STATUS = CD.STATUS == 1 ? "Complete" : CD.STATUS == 2 ? "Incomplete" : "Void"
如果要在Entity Framework(或其他IQueryable
支持ORM )的上下文中使用它,它将转换为CASE WHEN
SQL语句.