我的表格中有一个查询:
var fruits = (from p in fruitDB
where (p.Fruit.FruitID == fruitID && p.Color.ColorID != null )
select p.Color).Distinct();
VS 2010给了我一个蓝色下划线并告诉我“表达永远是真的”。现在我同意我同意数据库中的数据是否没有填满,但在我的情况下,如果我不包含!= null
这是一个错误还是基于我的数据库架构中设置的规则? (即使基础数据与之相矛盾)
答案 0 :(得分:2)
Color.ColorID是什么类型的?它是整数吗?你应该检查p.Color!= null?
答案 1 :(得分:2)
您能包含实体图吗?
如果Color是一个表而ColorID是它的主键,那么它就不会是可空的。也许你的第一个表中的外键可以为空,但这不是你在这里测试的。
答案 2 :(得分:0)
ColorID可以为空吗?你应该检查是否p.Color.ColorID == 0?