Выражение всегда верно (когда это не так) - PullRequest
1 голос
/ 28 сентября 2010

У меня есть запрос в форме:

var fruits = (from p in fruitDB
              where (p.Fruit.FruitID == fruitID && p.Color.ColorID != null )
              select p.Color).Distinct();

VS 2010 дает мне синие подчеркивания и сообщает: «Выражение всегда верно». Теперь, если я согласен, если данные в базе данных не были заполнены, но в моем случае я получу ноль, если я не включу добавленное утверждение для != null

Так это ошибка или основанная на правилах, установленных в моей схеме базы данных? (хотя базовые данные противоречат этому)

Ответы [ 3 ]

2 голосов
/ 28 сентября 2010

Можете ли вы включить диаграмму сущностей?

Если Color является таблицей, а ColorID является ее первичным ключом, он не будет обнуляться. Возможно, внешний ключ в вашей первой таблице обнуляем, но это не то, что вы тестируете здесь.

2 голосов
/ 28 сентября 2010

Какой тип Color.ColorID? Это целое число? Стоит ли проверять p.Color! = Null?

0 голосов
/ 11 апреля 2011

Является ли ColorID обнуляемым?Стоит ли проверять, если p.Color.ColorID == 0 вместо этого?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...