读书人

Lamba表达式的null值比较有关问题

发布时间: 2013-07-08 14:13:00 作者: rapoo

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,明白了吗?

读书人网 >C#

热点推荐