Ответ 1
Status = e.col1.HasValue ? "This Value" : (e.col2.HasValue ? "Other Value" : null)
Я пытаюсь создать условный оператор IF внутри "select new", который проверяет значения двух полей, чтобы заполнить свойство.
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")
}
Столбцы имеют значение NULL, поэтому типы столбцов - DateTime? типы данных.
Только один или другой столбец будет иметь значение datetime, а не оба.
Как мне это сделать???
Status = e.col1.HasValue ? "This Value" : (e.col2.HasValue ? "Other Value" : null)
используйте нулевой оператор наложения для этого
Status = e.col1.HasValue ? e.col1.Value ?? "This Value" : e.col2.Value ?? "Other Value"