Я столкнулся с довольно странной проблемой с linq-to-sql. В следующем примереLinq где column == (нулевая ссылка) не совпадает с столбцом == null
var survey = (from s in dbContext.crmc_Surveys
where (s.crmc_Retail_Trade_Id == tradeId) && (s.State_.Equals(state))
select s).First();
Если tradeId имеет нулевое значение, это не ведет себя так, как будто я указан нулевой конкретно, как это вместо того,
var survey = (from s in dbContext.crmc_Surveys
where (s.crmc_Retail_Trade_Id == null) && (s.State_.Equals(state))
select s).First();
это мое желаемое поведение. На самом деле он ничего не возвращает, если оба значения не равны нулю. Я не могу понять, как выполнить это несколько различных запросов linq. Есть идеи?
Да, я полагаю, это очевидный ответ. Но вопрошающие умы хотят знать, почему константа null отличается от переменной, указывающей на null. – Boog
Я подозреваю, что Джоэл Коэхорн прав, что второй случай в вашем вопросе переводится в SQL-запрос, задающий нуль напрямую. – jball
Это похоже на очень большой недостаток или даже ошибку в синтаксисе linq от Microsoft, чтобы не обрабатывать ссылки на нулевые объекты, но я возьму ваши слова за это. – Boog