0

好的,我被卡住了。我有一个模型,它有一个“USER”实体、一个“CLUB”实体和一个“MEMBERSHIP”实体。“MEMBERSHIP”实体是“USER”与“CLUB”的关联。一个用户可以有很多俱乐部,一个俱乐部可以有很多用户。

我不知道如何获取特定用户的俱乐部列表。

我只是找不到一个关于如何构建这个查询的好例子。

我似乎遇到了问题,因为导航属性是一个集合。

谁能指出我正确的方向,谢谢。

4

1 回答 1

1

这取决于Membership表。如果表只是简单的关联,有UserId和ClubId,则Membership不会生成实体,应该这样查询:

var clubs = context.Users
                   .Where(u => u.Id == id)
                   .SelectMany(u => u.Clubs);

如果关联不是那么简单,那么Membership将生成实体,您应该通过会员导航到俱乐部,如下所示:

var clubs = context.Users
                   .Where(u => u.Id == id)
                   .SelectMany(u => u.Memberships)
                   .Select(m => m.Club);
于 2012-12-04T21:32:37.597 回答