私は次の構造を手に入れました:
One user can have many Groups and a Group can have many users.
ここで、ユーザーのように同じグループに属するすべてのユーザーにフィルターをかけてもらいたいと思います。
たとえば、ユーザー「Theo」はグループ1と2に属しています。グループ1またはグループ2に属するすべてのユーザーが必要です。
LINQまたは一般的にc#でこれを達成するにはどうすればよいですか?
このコードは機能しません:
var res = (IEnumerable<User>)Users;
foreach (var item in user.Groups) {
res = res.Where(usr => usr.Groups.Contains(item));
}
return res.ToList();
Users
は別のメソッドから取得したリストでありuser
、タイプのパラメータですUser
。