在 Entity Framework 中 select 可选导航 属性 属性 的正确方法是什么?

What is a correct way to select a property of optional navigation property in Entity Framework?

select 属性 可选导航 属性 entity framework 的正确方法是什么?

我担心如果导航 属性 为空,那么当我尝试访问其(可选导航 属性`s)时会抛出错误 属性 .

这是我尝试过的:

return await this.relatedCasesRepository
                    .GetAll()
                    .AsNoTracking()
                    .Where(rc => rc.FirstCaseId == caseId || rc.SecondCaseId == caseId)
                    .Select(rc => new RelatedCaseInfoDto
                    {
                        FirstCaseId = rc.FirstCaseId,
                        FirstCaseName = rc.FirstCase.Name,
                        SecondCaseId = rc.SecondCaseId,
                        SecondCaseName = rc.SecondCase.Name,
                        CaseRelationTypeId = rc.CaseRelationTypeId,
                        CaseRelationTypeName = rc.CasesRelationType?.Name,
                        Id = rc.Id
                    })
                    .ToArrayAsync();

代码:rc.CasesRelationType?.Name 产生错误:

An expression tree lambda may not contain a null propagation operator.

这是否意味着我应该执行第二个请求来获取可选导航的所有属性 属性?或者有没有办法查询可选导航 属性`s 属性 以防可选导航 属性 不为空,否则 return 为空?

为什么不使用条件运算符?

CaseRelationTypeName = (rc.CasesRelationType != null) ? rc.CasesRealtionType.Name : null;