这是模型:
public class PolicyDetail
{
public Policy Policy { get; set; }
public IEnumerable<Insured> Insured { get; set; }
public IEnumerable<Risk> Risk { get; set; }
public IEnumerable<Construction> Construction { get; set; }
}
施工就像这样:
public class Construction
{
public int ConstructionID { get; set; }
public string ConstructionType { get; set; }
}
在DB中,只有4行。它基本上是一个枚举。
在Risk中有这个属性:
public int ConstructionID { get; set; }
在将模型发送到视图之前,我们填写PolicyDetail中的每个对象,其中被保险人和风险是政策的子女。每次加载所有四行时都会加载构造。
因此,在模型中,我们列出了所有的风险。当我到达Construction时,我想显示所选的Construction Type。
正如预期的那样:
@foreach (var item in Model.Risk)
{
... other items in Risk
@item.ConstructionID
}
只显示ID。 1,3,4等我尝试编写一个lynq查询,根据item.ConstructionID从Model.Construction中提取ConstructionType。我正在玩弄像:
这样的事情@Model.Construction.Select(a => a.ConstructionID == item.ConstructionID).First()
但到目前为止,我所尝试的一切都没有。
修改
更清楚,这就是我想要的:
SELECT ConstructionType FROM Model.Construction WHERE ConstructionID = type.ConstructionID
答案:
@ Model.Construction.First(a =&gt; a.ConstructionID == item.ConstructionID).ConstructionType
答案 0 :(得分:2)
尝试:
@Model.Construction.First(a => a.ConstructionID == item.ConstructionID).ConstructionType;