如果LINQ SELECT语句里面(IF statement inside a LINQ SELEC

2019-06-23 22:28发布

我想产生的“选择新的”,检查以填充属性两个字段的值内的IF条件语句。

from e in Employees
where e.EmployeeID == id
select new {
    EmployeeID = e.EmployeeID,
    EmployeeName = e.FirstName + " " + e.LastName,
    Status = (if e.col1.HasValue then "This Value" else if e.col2.HasValue then "Other Value")
}

列可以为空,因此列类型的DateTime? 数据类型。

只有一个或其他列将有一个日期时间值,而不是两个。

我该如何去这样做呢???

Answer 1:

Status = e.col1.HasValue ? "This Value" : (e.col2.HasValue ? "Other Value" : null)


Answer 2:

使用空coelacing操作此

Status = e.col1.HasValue ? e.col1.Value ?? "This Value" : e.col2.Value ?? "Other Value"


文章来源: IF statement inside a LINQ SELECT
标签: linq-to-sql