我有一个与表具有一对多关系的 Permits 实体/PermitDetails
表。PermitDetails
包含有关许可表中所列气体的限制信息。限制以特定单位表示(GPerBhpHr、LbPerHr 等...)。
我有一组属性,我的视图数据绑定到(WPF/MVVM),它们代表每个 PermitConstituentType 及其相应的“限制”。例如:
// this set of properties is duplicated for each gas type (PermitConstiutentType)
public double NitrousOxidesPpmAt15PercentOxygen {get; set;}
public double NitrousOxidesLbMmbtuHHV {get; set;}
public double NitrousOxidesGbhph {get; set;}
public double NitrousOxidesC3LbHr {get; set;}
public double NitrousOxidesTpy {get; set;}
使用 EF/LINQ 我想查询 PermitDetails 表,并为每个 PermitConstituentType 返回与 PermitDetails 度量单位对应的值,以便可以将其分配给正确的属性。
在某些情况下,它会返回一个空值,而在其他情况下,它会返回一个双精度值。例如,在 PermitConstituentTypeId = 2 的情况下,我的查询将为 PpmAt15PercentOxygen 返回 92.2。同样,无论返回的是 null 还是值,我都想将值分配给相应的属性。
我尝试过的这个语句让我得到了我想要的 PermitConstituentId 上的记录匹配:
var noxRecord = CurrentPermit.PermitDetails.Where(a => a.PermitConstituentTypeId == 2);
但是从那里我不知道如何开始为我需要的每个限制/指标获取值,例如PpmAt15PercentOxygen
等LbPerMmBtuHHv
。
有人可以帮我完成这个 LINQ 语句或修改它,以便我可以根据 PermitConstituentTypeID 拉回特定的限制/指标吗?