C# 当属性为null时,如何防止实体出错?
假设我们有一个模型属性,它是集合且为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()
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
如问题中所述为空,那么这显然不起作用。