I have a linq query function like (simplified):
public IList<Document> ListDocuments(int? parentID)
{
return (
from doc in dbContext.Documents
where doc.ParentID == parentID
select new Document
{
ID = doc.ID,
ParentID = doc.ParentID,
Name = doc.SomeOtherVar
}).ToList();
}
Now for some reason when I pass in null for the parentID (currently only have data with null parentIDs) and I get no results.
I copy and paste this query into LinqPad and run the following:
from doc in dbContext.Documents
where doc.ParentID == null
select doc
I get back a result set as expected...
The actually query has left join's and other joins but I have removed them and tested it and get the same result so the joins are not affecting anything. The app and LinqPad are both connected to the same DB as well.
Edit: Tested with just 'null' in the appliction query and it returns the result as expected so the issue is using null vs int?. I have updated question to make it more useful to others with the same issue to find this thread.