linq 链接到可能为空的所选对象上的实体排序依据

cx6n0qe3  于 2022-12-06  发布在  其他
关注(0)|答案(1)|浏览(126)

我有以下疑问:

var ordered = grouped
     .OrderBy(x => x.Spell.SpellStatuses
        .FirstOrDefault(s => !s.NextStatusId.HasValue 
            && s.SpellStatusId == LACompleteStatusId)
        .AddedOn);

上面的查询从列表中选择一个子对象,并按该对象的一个属性进行排序。
问题是子对象可能是空的-我认为这会在试图访问该对象的属性时导致异常。
我试过这个:

s.SpellStatusId == LACompleteStatusId)?.AddedOn

但不允许空传播
有什么建议吗?

8wtpewkr

8wtpewkr1#

即使详细说明代码也不起作用?

var ordered = grouped
    .OrderBy(x => {
        var status = x.Spell.SpellStatuses
            .FirstOrDefault(s => !s.NextStatusId.HasValue && s.SpellStatusId == LACompleteStatusId);

        return status == null ? null : status.AddedOn;
    });

相关问题