エンティティフレームワークでID別に要素のリストを取得する 質問する

エンティティフレームワークでID別に要素のリストを取得する 質問する

別のリストにあるすべての要素を ID で取得するにはどうすればよいでしょうか。リスト ロールがあります。このリストにあるすべてのロールを ID でデータベースから取得したいと思います。

コードファーストを使用しています。

これを実行するとエラーが発生しました:

var roles = db.Roles.Where(r => user.Roles.Any(ur => ur.RoleId == r.RoleId));

RoleIdint 型です。

エラー:

'SampleMVC.Domain.Role' 型の定数値を作成できません。このコンテキストでは、プリミティブ型 ('Int32、String、Guid など') のみがサポートされています。

ベストアンサー1

var listOfRoleId = user.Roles.Select(r => r.RoleId);
var roles = db.Roles.Where(r => listOfRoleId.Contains(r.RoleId));

おすすめ記事