EF -具有三个或更多字段的纯连接表

本文关键字:字段 连接 三个 -具 EF | 更新日期: 2023-09-27 18:08:21

此时我知道如何为M:N关系使用两个字段进行PJT,但我想知道是否可以为几个M:N关系使用三个或更多字段。我有一个例子:

三个表,活动,用户,客户端。我想知道如果是可能的,只有导航属性的实体做这样的事情:查找一个客户端由一个用户执行的活动:

ActivitySet selectedActivities = ClientSet
  .First(c => c.Id == enteredId)
  .Activities.Find(a => a.UserId == enteredUserId);

或任意组合

EF -具有三个或更多字段的纯连接表

这是可能的,但你需要从相反的方向,从你想要的实体,后退。

Activities
  .Where(a => a.Client.Id == enteredId)
  .Where(a => a.User.Id == enteredUserId)

你可以这样做吗?

var activities = (from c in ClientSet
                  from a in c.Activities
                  where c.Id = enteredId && a.UserId = enteredUserId);