Я пытался сделать следующее
public IList<Category> GetMainCategories()
{
return _context.Category
.Where(x => x.ParentCategory == null)
.OrderBy(x => x.SortOrder)
.ToList();
}
Однако, что бы я ни старался, это не дает никаких результатов, хотя я могу видеть в коллекции, что ALL ParentCategory имеет значение null? Я прочитал, что EF имеет проблемы с нулями, подобными этому, а также попробовал
.Where(x => x.ParentCategory.Equals(null))
И
.Where(x => Equals(x.ParentCategory.Id, null))
.Where(x => Equals(x.ParentCategory, null))
Но еще такой же результат? Я потерялся? Как я могу проверить, является ли объект нулевым? Когда я проверяю его в VS2010, явно указывается его нулевое значение?
Обновление
Я могу заставить его работать над этим, НО его безумно неэффективно!!! ДОЛЖЕН быть в состоянии сделать это в запросе, или я скорее потрясен EF! Любая помощь очень ценится?
public IList<Category> GetMainCategories()
{
var cats = _context.Category
.OrderBy(x => x.SortOrder)
.ToList()
.Where(cat => cat.ParentCategory == null)
.ToList();
return cats;
}