Аргументы типа для метода не могут быть выведены из использования.Попробуйте указать аргументы типа ex - error.Любое руководство? - PullRequest
2 голосов
/ 18 июня 2010
    /// <summary>
    /// Find all of the Areas that are Parents without children Areas.
    /// </summary>
    /// <returns>IQueryable object full of Areas.</returns>
    public IQueryable FindParentAreas()
    {
        return db.Areas.SelectMany(x => x.ParentAreaID == null);
    }

Я хочу вернуть коллекцию объектов Area, которые являются родительскими областями, т.е. они имеют нулевые значения в поле ParentAreaID (в моей базе данных).

Кажется, я не могу просто сравнить его с нулем, потому что ноль в C # может означать что-то еще в Microsoft SQL Server.

Любое руководство? Должен ли я даже использовать SelectMany?

Ответы [ 2 ]

6 голосов
/ 18 июня 2010

Enumerable.SelectMany :

Проецирует каждый элемент последовательности в IEnumerable и объединяет полученные последовательности в одну последовательность.

Enumerable.Where :

Фильтрует последовательность значений на основе предиката.

Я думаю, что вы ищете Where:

public IQueryable<Area> FindParentAreas()
{
    return db.Areas.Where(x => x.ParentAreaID == null);
}
2 голосов
/ 18 июня 2010

Я думаю, что вы хотите использовать Где:

return db.Areas.Where(x => x.ParentAreaID == null)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...