Когда IQueryable не возвращает никаких записей, ToList () генерирует исключение - PullRequest
3 голосов
/ 16 декабря 2010

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

когда IQueryable не возвращает записей, я получаю исключение NULL для значения.

Какое решение?

Ответы [ 3 ]

5 голосов
/ 16 декабря 2010

Я подозреваю, что вы не получаете проблему, когда нет совпадений - я подозреваю, что вы получаете это, когда в вашей базе данных есть строка без значения Name. Или это, или вы делаете что-то еще, что вы не показали нам. Как выглядит трассировка стека?

4 голосов
/ 16 декабря 2010

попробуйте использовать этот код

dataContext.Geo_Countries.Where(c => c.Name != null && c.Name.Contains(searchKey)).ToList();
0 голосов
/ 30 августа 2016

Вызов ToList () в IQueryable вызовет исключение, если код не выполняется должным образом.В следующем примере ToList () сгенерирует исключение, если c.Name равно нулю:

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


class Country{
  public string Name { get; set; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...