多くのプロパティを持つオブジェクトのリストがあります。私はオブジェクトリストの特定のプロパティに一致するすべてのレコードを取得するEF6クエリを記述したいと思います。Entity Framework 6多次元オブジェクトのIN条件
これは私が動作していないものです。
userRoles
は私のList<>
であり、RoleID
は、エンティティのRoleId
と照合したいプロパティです。
List<DataAccess.Entities.DB.StorageContainerRole>
containerRoles = db.StorageContainerRoles
.Where(x => userRoles.Select(y => y.RoleID.Value)
.Contains(x.RoleId.Value))
.Include(z => z.StorageContainer)
.ToList();
これは私が取得していますエラーです:
型 'DataAccess.Entities.DB.UserRole' が一定の値を作成することができません。このコンテキストでは、プリミティブ型または列挙型のみがサポートされています。
助けていただけたら幸いです!
どのように機能していないのですか?あなたのデータをチェックしましたか?あなたの質問は大丈夫です。 –
質問にエラーを追加しました – Nugs
'userRoles.Select(y => y.RoleID.Value)'をクエリの外に変数に代入し、変数inside(EF6要件)を使用します。 –