Вопрос по linq-to-sql – IF оператор внутри LINQ SELECT
Я пытаюсь создать условный оператор IF внутри элемента "выбрать новый" который проверяет значения двух полей, чтобы заполнить свойство.
<code>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") } </code>
Столбцы обнуляются и, следовательно, типы столбцов DateTime? типы данных.
Только один или другой столбец будет иметь значение datetime, но не оба.
Как мне сделать это ???
2
ответа
Status = e.col1.HasValue ? "This Value" : (e.col2.HasValue ? "Other Value" : null)
Отлично. Благодарю.
kntcnrg
Вы, красавчик, я получал исключение NullReferenceException на Windows Phone при возврате Contact.Companies ... пытался получить Contact.Companies.FirstOrDefault (). CompanyName в запросе LINQ подвергался бомбардировке ... следующее прекрасно сработало! CompanyName = (c.Companies.Count () & gt; 0)? c.Companies.FirstOrDefault (). CompanyName: & quot; & quot;