Мое утверждение where явно не работает, но все, что я могу найти, это примеры того, как преобразовать его за пределы запроса LinQ. Самое близкое, что я могу найти:Невозможно неявно преобразовать тип 'bool?' to 'bool' в запросе LinQ?
&& rdoNoPhone.Checked ? d.PHONE!= null : true
Но, я не совсем уверен, как это работает в моем случае. Я понимаю, что мое поле SQL под названием Active позволяет 3 значения, истины, false и null, и я предполагаю, что мой ответ - все в этом маленьком вопросительном знаке.
LinQtoSQLDataContext db = new LinQtoSQLDataContext();
var query = from a in db.Admins
where a.Active = true
orderby a.Name
select new { a.Name, a.LoginName};
Я также должен спросить, как можно использовать инструкцию SQL IN в запросе LinQ. Например, изменение следующих в Linq:
Select Field1, Field2, Level
From Table
Where Level IN (1,2,5)
На оба вопроса был дан ответ ранее. Вы ищете 'nullableBool.HasValue && nullableBool.Value == true' и для вашего второго вопроса' new [] {1, 2, 5} .Contains (value) '. – CodeCaster
'where a.Active = true': Вы уверены, что не имели в виду' == '? –
Это сработало: nullableBool.HasValue && nullableBool.Value == true – Lore