我正在尝试在“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")
}
列可以为空,因此列类型是DateTime?数据类型。
只有一个或另一个列具有日期时间值,而不是两者。
我该怎么做?
答案 0 :(得分:49)
Status = e.col1.HasValue ? "This Value" : (e.col2.HasValue ? "Other Value" : null)
答案 1 :(得分:3)
对此
使用null coelacing运算符Status = e.col1.HasValue ? e.col1.Value ?? "This Value" : e.col2.Value ?? "Other Value"