很高兴知道您正在使用哪些版本的 MVC 和 EF。基于其 MVC 4 和 EF5 的假设...
连接表的目的是保持参照完整性。正如@timothy 所说,没有理由引用 (UserGroup) Join 表,除非其中有实际的附加数据,即有效负载。如果您将其他数据放入 UserGroup 表中,那么它无论如何都不是 Join 表。
而是使用一些 Lazy 或 Eager 加载来获取您需要的 Group 数据:
延迟加载
var users = context.Users
foreach (User x in users)
{
foreach (Group f in x.Groups)
//notice the x user being referred to here for Groups
{
// Whatever you want to do with the objects
}
}
急切加载
var users = context.Users.Include(g => g.Groups)
foreach (User x in users)
{
foreach (Group f in x.Groups)
//notice the x user being referred to here for Groups
{
// Whatever you want to do with the objects
}
}
上面的“foreach”代码只是为了展示如何将它包含在循环示例中。这些加载示例的第一行很重要。
一旦你定义了“var users”,剩下的就“简单”了。祝你好运!