我该怎么做这个查询?

时间:2014-02-20 22:26:36

标签: c# asp.net entity-framework asp.net-mvc-4

在这种情况下,你能帮助我吗

我有三张桌子

首先存储用户组 ugroup - 主键 groupname - 组名

第二个存储用户 uid - 主键 ugroup - int 用户名 等等 .....

第三个表包含每个用户的教师列表 teachId - 主键 uid - int ..........

所以这个查询在控制器

中工作正常
var viewUsers= db.UsersGroup.Include("Users").ToList();

并在视野中

我可以超过其中的所有群组和用户

@foreach(var ug in @Model.viewUsers)
{
ug.groupName
  foreach(var u in ug.Users)
    {
           u.UserName;
    }
}

所以,但我想在视图中构建表格以显示此信息:

<caption>GroupName</caption>
<th>UserName</th><th>Count of teachers</th>
<td> John Smith</td><td>3</td>

那么我应该如何在我的视图中构建一个查询来构建表格?

我是否可以提供一些链接,我在哪里可以阅读有关如何使用EF对我的数据库进行varios查询(如加入uinions和otheres),我不明白如何工作Include()方法 我尝试将我的上一个字符串改为:db.UserGroups.Include(ug => ug.Users),但它不起作用:(

谢谢。

1 个答案:

答案 0 :(得分:0)

var viewUsers= db.UsersGroup.Include("Users.Teachers").ToList();

然后在视图中,您可以获得每个用户的教师列表

@foreach(var ug in @Model.viewUsers)
    {
      ug.groupName

      foreach(var u in ug.Users)
        {
             &nbsp;&nbsp;u.UserName;

             <th>u.Teachers.Count</th>

             foreach(var teacher in u.Teachers)
             {
                 <td>teacher.Name</td>
             }

        }
    }