Lamba表达式的null值比较问题
为什么
Goods entity = db.Goods.FirstOrDefault(o => o.GoodsName == content.Goods.GoodsName
&& o.GoodsModel == content.Goods.GoodsModel
&& o.GoodsColor ==null);
能查到值。而
string goodsSpec = null;
Goods entity = db.Goods.FirstOrDefault(o => o.GoodsName == content.Goods.GoodsName
&& o.GoodsModel == content.Goods.GoodsModel
&& o.GoodsColor ==goodsSpec);
却为空。
求解觉方法,我快无语凝咽。。。 null lambal FirstOrDefault EF
[解决办法]
试试
&& (o.GoodsColor==goodsSpec
[解决办法]
string.IsNullOrEmpty(o.GoodsColor))
[解决办法]
你可以看看最终生成的SQL语句是什么。如果直接用null判断,生成的是GoodsColor is null,如果用变量,就会是GoodsColor = @p1,明白了吗?