1、在Linq的一些查询语句中,经常要把不等于某个值的记录查询出来,例如:数据库中有一张表:Travel,需要把Travel表中字段IsUse(string)值不等于“否”的记录查询出来。(注:字段IsUse值可以为null,查询出来的记录要求包括IsUse值为null的记录)
1.1、如以下代码1.1所示,表面看来,这是符合查询要求的。但查询出来的结果把IsUse值为null的记录过滤掉了,这往往会被我们忽略。
代码1.1
using (AttendanceCenterDataContext db = new AttendanceCenterDataContext())
{
var resultList = db.Travels.Where(p=> p.IsUse != "否").ToList();
}
1.2、如下代码1.2是我遇到类似问题时所用的解决方法。
代码1.1
using (AttendanceCenterDataContext db = new AttendanceCenterDataContext())
{
var resultList = db.Travels.Where(p=> p.IsUse == null || p.IsUse != "否").ToList();
}
我想Linq应该可以用一个判断就能把上面需求查询出来,但我目前还没找到,还请IT界的各位奇才予以指点。