'When IQueryable returns no record ToList() throws an exception

dataContext.Geo_Countries.Where(c => c.Name.Contains(searchKey)).ToList<Geo_Country>();

when the IQueryable returns no records, I get a value null exception.

What is the solution?



Solution 1:[1]

I suspect you don't get the problem when there are no matches - I suspect you get it when there's a row in your database with no Name value. Either that, or you're doing something else which you haven't shown us. What does the stack trace look like?

Solution 2:[2]

try to use this code

dataContext.Geo_Countries.Where(c => c.Name != null && c.Name.Contains(searchKey)).ToList();

Solution 3:[3]

Calling ToList() on IQueryable will throw an exception if code doesn't properly execute. In the following example, ToList() will throw an exception if c.Name is null:

void Main()
{
    var countries = new [] { new Country() }.AsQueryable();
    countries.Where(c => c.Name.Contains("bubba")).ToList();
}


class Country{
  public string Name { get; set; }
}

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Jon Skeet
Solution 2 Andrei Andrushkevich
Solution 3 Derek Greer