我有 NxN 表,想象一下:
User(id, ...) <- UserAddresses(id, userId, addressId, enabled, ...) -> Addresses(id, ...)
UserAddresses 包含用户和地址的 FK。据我所知,Entity Framework User 创建的 Entity 包含一个 UserAddresses 的集合。Address 包含一个 UserAddresses 的集合,而一个特定的 UserAddress 包含一个对 User 和一个 Address 的引用。
现在我想通过 linq 进行下一个查询。对于特定的用户 ID,仅获取启用标志设置为 true 的 userAddresses。对于特定的用户 id,userAddresses 可以包含多个条目,但只为该特定用户设置一个。
我可以做的查询是:
context.User.Include( x => x.UserAddresses )
.Include( x => x.UserAddresses.Select(y => y.Address) )
.Single( x => x.id == USER_ID )
但我真正想要的不是为该用户加载所有 UserAddresses ...仅包含启用的那个,设置为 TRUE!
有人可以帮我做这个查询吗?