私は、複数の役割IDを含む文字列配列を持っています。私のコントローラーでは、電子メールを送信する目的で、配列内に1つ以上の役割があるユーザーのリストを返すことを望みます。だから、何かのように:model.SelectedRolesはロールIDのとj.Rolesの文字列配列であるロールのIEnumerableに文字列配列のロールが含まれているかどうかを確認するにはどうすればよいですか?
var sendto = db.Users
.Where(j => j.Roles.SelectMany(h => h.RoleId).Any(model.SelectedRoles))
.ToList();
は、私はエントリのいずれかに一致していた文字列フィールドの役割のIDが含まれているMVCのアイデンティティのための役割テーブルがあります文字列配列に格納されます。
明らかに上記のクエリは機能せず、正しくありません。私はちょうどそこに何かをして、私が何をしたいのかを見せています。誰も助けることができますか?
答えがありがとう、私はintersectメソッドを見ていますが、intellisenseでエラーを書き込んだクエリ" IEnumerable交差の定義が含まれていません " –
Rob
@Rob First - ロールは列の列挙可能ですか? SelectManyをSelectに置き換えてください。私は私の答えにオプションを追加しました。 2番目 - もちろんIEnumerableにはintersectの定義が含まれています!あなたはSystem.Linqを使っていませんか? –
RoleIDはMVC IDの文字列です。私はSelectManyからSelectにクエリを変更しています。答えとしてマークします、ありがとう。 – Rob