Search code examples
c#.netlinq-to-sqlsqlitedblinq

How to select null values with LINQ to SQL and DbLinq?


When I

bool? isApproved = null;
db.Table.Where(item => item.IsApproved == isApproved).Count();

the last line value is 0. But when I

db.Table.Where(item => item.IsApproved == null).Count();

the value is correct.

I'm using SQLite, DbLinq and DbMetal.


Solution

  • I have seen it done like this:

     db.Table.Where(
                item => item.IsApproved.HasValue == isApproved.HasValue && 
                (!item.IsApproved.HasValue || item.IsApproved.Value==isApproved.Value ) 
     ).Count();