Оператор ?:
От: s_aa Россия  
Дата: 10.12.17 17:40
Оценка: 66 (1)
Переменная office имеет значение null на входе.
Вот это выдает ошибку ...
var lst = ctx.ClsClients.Where(s => s.Office == (String.IsNullOrEmpty(office) ? 70 : Int32.Parse(office))).ToList();

{System.InvalidOperationException: An exception was thrown while attempting to evaluate the LINQ query parameter expression 'Parse(value(ac.Controllers.HomeController+<>c__DisplayClass2_0).office)'. ---> System.ArgumentNullException: Value cannot be null.
Parameter name: String

А это работает ...
var lst = ctx.ClsClients.Where(s => s.Office == (String.IsNullOrEmpty(office) ? 70 : 20)).ToList();


Почему так? Вроде одно только выражение должно вычисляться в операторе ?:
Жизнь не обязана доставлять удовольствие. Достаточно отсутствия страданий.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.