无法从用法中推断出方法的类型参数。尝试指定类型参数ex - error。任何指导?

时间:2010-06-18 16:03:45

标签: c# linq-to-sql tsql

    /// <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字段(在我的数据库中)中具有空值。

似乎我不能将它与null进行比较,因为C#中的null可能意味着Microsoft SQL Server中的其他内容。

任何指导?我应该使用SelectMany吗?

2 个答案:

答案 0 :(得分:6)

Enumerable.SelectMany

  

将序列的每个元素投影到IEnumerable&lt; T&gt;并将得到的序列展平成一个序列。

Enumerable.Where

  

根据谓词过滤一系列值。

我认为你正在寻找Where

public IQueryable<Area> FindParentAreas()
{
    return db.Areas.Where(x => x.ParentAreaID == null);
}

答案 1 :(得分:2)

我认为你想使用Where:

return db.Areas.Where(x => x.ParentAreaID == null)