Сравнение типов Linq и SQL

У меня есть переменное имя age, и это тип int? Мой запрос linq to sql:

from t in db.Profiles where t.age == age select t

имея сравнение между int и int? в пункте где. как обработчик запросов linq to sql будет обрабатывать в этом случае?


person Linh    schedule 22.12.2009    source источник


Ответы (1)


Если возраст является типом int? то я считаю, что ваш запрос должен выглядеть следующим образом:


from t in db.Profiles where t.age == age.Value select t

person Randy Minder    schedule 22.12.2009
comment
Но если возраст равен нулю, будет выброшено исключение NullPointException. - person Linh; 23.12.2009
comment
из t в db.Profiles, где t.age == (age == null)? null : age.Value выберите t - person Randy Minder; 23.12.2009