当属性为null时,如何防止实体犯错?

时间:2012-05-04 12:02:53

标签: c# entity-framework

假设我们有一个模型属性,它是一个集合并且为null。像这样。

public ICollection<Model> ChildrenById
{
    get
    {
        return Children
            .OrderBy(c => c.Id)
            .ToList();
    }
}

实体发生错误并说Children为空。我们可以通过使用if语句并检查Children是否先为空来解决这个问题,但有没有办法让实体返回空列表?谢谢。

3 个答案:

答案 0 :(得分:2)

我会使属性返回Children永远不会返回null。

*修改

答案 1 :(得分:1)

public ICollection<Model> ChildrenById
{
    get
    {
        return Children == null 
            ? new List<Model>() 
            : Children
               .OrderBy(c => c.Id)
               .ToList();
    }
}

答案 2 :(得分:0)

您可以对列表本身进行排序,而不是使用属性;

Children.Sort((x, y) => x.Id.CompareTo(y.Id));