通过连接表在MVC .NET中显示行

时间:2014-05-22 11:47:07

标签: asp.net-mvc linq

我是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 ...

我该怎么做? 我是否需要使用更复杂的查询以这种方式获得结果? 或者在控制器或视图中格式化它们?

1 个答案:

答案 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>
}