我有两个通过 Entity Framework 4 访问的 Sql Server 表。它们由一个键连接,在连接的依赖端有 0 到 1 行。这是我的 linq 查询。
var typeDtoList = from type in typeList
select (new DxStudioTypeDto(parent,
isChildrenLoadOnDemand,
businessFacade,
server,
database,
type.typeGuid,
type.typeName,
type.writerName,
type.managerName,
type.Reporting_Type.MRef_Status,
type.Reporting_Type.Exists_In_Drop));
显然,如果 Reporting_Type 返回零行,则 linq 表达式会在 DxStudioTypeDto 构造函数的最后两个参数上引发空引用异常:
type.Reporting_Type.MRef_Status,
type.Reporting_Type.Exists_In_Drop));
有没有办法检测 Reporting_Type 行的缺失并替换默认字符串?DxStudioTypeDto 是一个不可变类型,所以当我实例化一个新对象时,我需要所有可用的参数。针对这种情况还有其他策略吗?