我是MVC .ASP NET和LINQ的新手。
这是我的问题。
我有一个包含员工的表(ID,名称)
1 Foo
和一个保存容量的表(ID,EmployeeID,Hours,Date)
ID - EmployeeID - Hours - Date
1 1 100 January
2 1 50 February
编写linq查询以加入所有这些结果
[员工ID,姓名,小时,日期]记录
但我要展示的是
Name - January -Feb - Mar ...
Foo 100
50
Foo2 ...
我该怎么做? 我是否需要使用更复杂的查询以这种方式获得结果? 或者在控制器或视图中格式化它们?
答案 0 :(得分:0)
创建一个Helper方法,通过给定的字符串/日期获取月份的数量,然后您可以在这样的视图中循环:
@foreach(var item in Model)
{
<tr>
<td>@Html.DisplayFor(m => item.Name)</td>
@for(var i = 0; i < numberOfWorkDays; i++)
{
<td>
@if(YourHelper.GetNumberOfMonth(item.Date) == i)
{
Html.DisplayFor(m => item.Hours)
}
<td>
}
</tr>
}