私はNxNテーブルを持っています、想像してください:
User(id, ...) <- UserAddresses(id, userId, addressId, enabled, ...) -> Addresses(id, ...)
UserAddresses には、ユーザーおよびアドレスへの FK が含まれています。私の知る限り、Entity Framework ユーザーによって作成されたエンティティには、UserAddresses へのコレクションが含まれています。Address には UserAddresses へのコレクションが含まれており、特定の UserAddress には User と 1 つの Address への 1 つの参照が含まれています。
今度はlinqで次のクエリを作成したいと思います。特定のユーザー ID について、有効フラグが true に設定された userAddresses のみを取得します。特定のユーザー ID の場合、userAddresses には複数のエントリを含めることができますが、この特定のユーザーには 1 つしか設定されません。
私ができるクエリは次のとおりです。
context.User.Include( x => x.UserAddresses )
.Include( x => x.UserAddresses.Select(y => y.Address) )
.Single( x => x.id == USER_ID )
しかし、私が本当に望んでいるのは、そのユーザーのすべての UserAddresses をロードすることではありません...有効にされ、TRUE に設定されているものだけです!
誰かがこのクエリを実行するのを手伝ってくれますか?