エンティティGroup
とUser
があります。
Group
エンティティは、ユーザのリストであるUsers
プロパティを持っています。
ユーザーの名前はIsEnabled
です。エンティティへのLinq - 子エンティティのフィルタリング方法
User
のIsEnabled
が真になるGroup
のリストを返すlinqクエリを作成したいとします。例えばので
、のようなデータの
AllGroups
グループA
ユーザ1(でIsEnabled =真)
ユーザ2(でIsEnabled =真)
ユーザ3(でIsEnabled =偽)
グループB
ユーザ4(でIsEnabled =真)
ユーザ5(でIsEnabled =偽)
ユーザー6(でIsEnabled = false)を
私は
FilteredGroups
グループAを取得したい
ユーザー1(でIsEnabled =真)
ユーザー2(でIsEnabled =真)は
グループB
ユーザー4(IsEnabled = true)
私は次のクエリを試してみましたが、Visual Studioは
[プロパティまたはインデクサ「ユーザーが」に割り当てることはできません - それは読み取り専用です]と言われます
FilteredGroups = AllGroups.Select(g => new Group()
{
ID = g.ID,
Name = g.Name,
...
Users = g.Users.Where(u => u.IsInactive == false)
});
はあなたの助けをありがとう!
EF4を使用していますか?もしそうなら、POCOを使っていますか? 'Group.Users'はどのように宣言されていますか? – RPM1984
これはフィルタリングされたインクルードで簡単に実現できます。この機能のために[ここ](https://entityframework.codeplex.com/workitem/47)に投票してください! – Chris