私は問題があります。このデータベースに対してLINQクエリを使用したい:
ユーザーは多くの役割を持つことができ、各役割は多くのアイテムを持つことができます。ユーザー名を持っている場合は、それに関連付けられているすべてのアイテムを検索できるようにしたいと思います。つまり、最初にそのユーザーが持っている役割を見つけ、次にそれらの役割のそれぞれが持っているアイテムを見つける必要があります。
どうすればこれを行うことができますか?
var userItems = myUser.Roles.SelectMany(x=>x.Items);
あなたが持っていることができます:
User user = ...;
Role[] roles = user.Roles;
Role role = roles[x];
Items[] items = role.Items;
それで:
var allItems = user.SelectMany(u => u.Roles.Select(r => r.Items);
EFナビゲーションプロパティがある場合:
var allItems = user.Roles.SelectMany(r => r.Items);