Isa*_*son 2 c# linq entity-framework
我有一个与表具有一对多关系的许可实体/表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;}
Run Code Online (Sandbox Code Playgroud)
我想使用 EF/LINQ 查询 PermitDetails 表,并为每个 PermitConstituentType 返回与 PermitDetails 计量单位相对应的值,以便可以将其分配给正确的属性。
在某些情况下,它将返回 null,而在其他情况下,它将返回 double 值。例如,在 PermitConstituentTypeId = 2 的情况下,我的查询将为 PpmAt15PercentOxygen 返回 92.2。同样,无论返回的是 null 还是值,我都想将该值分配给相应的属性。
我尝试过的这条语句让我获得了与我想要的 PermitConstituentId 匹配的记录:
var noxRecord = CurrentPermit.PermitDetails.Where(a => a.PermitConstituentTypeId == 2);
Run Code Online (Sandbox Code Playgroud)
但从那里我不知道如何开始获取我需要的每个限制/指标的值,例如PpmAt15PercentOxygen,LbPerMmBtuHHv等等。
有人可以帮助我完成此 LINQ 语句或修改它,以便我可以根据 PermitConstituentTypeID 撤回特定限制/指标吗?
首先,我们选择第一个元素:
var noxRecord = CurrentPermit.PermitDetails
.FirstOrDefault(a => a.PermitConstituentTypeId == 2);
Run Code Online (Sandbox Code Playgroud)
然后如果它不为空,我们就可以像对象一样使用它
if(noxRecord!=null){
noxRecord.PpmAt15PercentOxygen;// This should be 92.2
}
Run Code Online (Sandbox Code Playgroud)