我的问题与此one
非常相似我有三张桌子,这些桌子有多对多关系。我必须构建一个矩阵,可以设置表间。与其他问题相比,我还没有销售值,但我需要构建相同的网格格式。
我不确定如何编写LINQ查询,而另一篇文章中的查询不适用于我的目的。
感谢您的帮助,
要回答Mirko:另一个查询无效,因为我没有结果。这是因为表之间没有数据。我应该能够使用基于Product和SalesPerson的矩阵,在表格之间使用空值(或不具有空值)。
答案 0 :(得分:0)
简单地在桥上区分并枚举(在控制器中):
var model = new MyModel();
model.Columns = resultSet.Select(x => x.ColumnProperty).Distinct().OrderBy(x => x);
model.Rows = resultSet.Select(x => x.RowProperty).Distinct().OrderBy(x => x);
然后在视图中:
<table>
<thead>
<th>
<td></td>
@foreach(var column in Model.Columns)
{
<td>@column</td>
}
</th>
</thead>
@foreach(var row in Model.Rows)
{
<tr>
<td>@row</td>
@foreach(var column in Model.Columns)
{
<td></td>
}
</tr>
}
</table>
这假设您从不需要销售,否则您需要构建它。
如果不是这样,请更好地说明其他问题查询对您不起作用的方式。