我的目标是在数据库中为每个对象生成一个表,比如在我的案例中。根据汽车的状况,我想在给定汽车的给定表格中显示信息。我的问题是,我目前在每张桌子上都显示有关每辆车的相同信息,独立于汽车。
有没有办法在Razor中执行查询?我知道我现在的汽车的ID,这样我就可以查询必要的信息。这是我目前的代码:
@foreach (var car in Model.myCars)
{
<h5>@Html.DisplayFor(modelItem => car.CarName)</h5>
<table>
<thead>
<tr>
<th>Id</th>
<th>Sjekkpunkt</th>
<th>Avviksbeskrivelse</th>
<th>Risiko</th>
<th>Dato rapportert</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model.myCheckpoints.Zip(Model.myAnswers, (Item1, Item2) => new { Item1, Item2 }))
{
<tr>
<td>@Html.DisplayFor(modelItem => item.Item1.Id)</td>
<td>@Html.DisplayFor(modelItem => item.Item1.Description)</td>
<td>@Html.DisplayFor(modelItem => item.Item2.Deviation)</td>
<td>@Html.DisplayFor(modelItem => item.Item2.Risk)</td>
<td>@Html.DisplayFor(modelItem => item.Item2.dateReported)</td>
</tr>
}
此代码出现问题,显示每辆车迭代完全相同的信息。现在Car表和Model.myCheckpoints之间存在连接。有没有办法查询,以便只显示在给定迭代中连接到给定汽车的myCheckpoints?
答案 0 :(得分:0)
首先回答您的问题:
<强> 1。有没有办法在Razor中执行查询?
我强烈建议不要在剃刀中执行查询操作,即使有办法。 在控制器中执行所有查询逻辑或单独的帮助程序文件,并仅将查询结果传递给视图。
2.有什么方法可以查询,以便只显示在给定迭代中连接到给定汽车的myCheckpoints吗?
您可以使用linq函数根据要求执行任何查询。 例如: var Result = anyList.Where(s =&gt; s.Anycolumn1&gt; 12)。其中(s =&gt; s.Anycolumn2&lt; 20);
注意:如果你知道汽车的ID,请在你的案例中,然后使用id列过滤它。
希望以上信息有用,请告诉我您的想法或反馈
由于 KARTHIK