LINQ SELECT中的IF语句

knt*_*nrg 23 linq-to-sql

我正在尝试在"select new"中生成一个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")
}
Run Code Online (Sandbox Code Playgroud)

列可以为空,因此列类型是DateTime?数据类型.

只有一个或另一个列具有日期时间值,而不是两者.

我该怎么做呢?

Meh*_*ari 51

Status = e.col1.HasValue ? "This Value" : (e.col2.HasValue ? "Other Value" : null)
Run Code Online (Sandbox Code Playgroud)