C# 当属性为null时,如何防止实体出错?

C# 当属性为null时,如何防止实体出错?,c#,entity-framework,C#,Entity Framework,假设我们有一个模型属性,它是集合且为null。像这样 public ICollection<Model> ChildrenById { get { return Children .OrderBy(c => c.Id) .ToList(); } } public ICollection ChildrenById { 得到 { 返回儿童 .OrderBy(c=>c.Id) .ToList()

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

public ICollection<Model> ChildrenById
{
    get
    {
        return Children
            .OrderBy(c => c.Id)
            .ToList();
    }
}
public ICollection ChildrenById
{
得到
{
返回儿童
.OrderBy(c=>c.Id)
.ToList();
}
}
实体出错,并表示
子项
为空。我们可以通过使用
if
语句并首先检查
Children
是否为null来解决这个问题,但是有没有办法让实体返回一个空列表呢?谢谢。

公共ICollection ChildrenById
public ICollection<Model> ChildrenById
{
    get
    {
        return Children == null 
            ? new List<Model>() 
            : Children
               .OrderBy(c => c.Id)
               .ToList();
    }
}
{ 得到 { 返回子项==null ?新名单() :儿童 .OrderBy(c=>c.Id) .ToList(); } }
我将使返回子对象的属性从不返回null


*编辑

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

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

嘿,你能编辑你的帖子让我撤销我的否决票吗?我今天过得不好,有点小气。很抱歉给您添麻烦。
排序
仅适用于
列表
;如果
Children
如问题中所述为空,那么这显然不起作用。