我有一个NxN的表,想象一下:
User(id,...)< - UserAddresses(id,userId,addressId,enabled,...) - > Addresses(id,...)
UserAddresses包含对用户和地址的外键。据我所知,由Entity Framework创建的实体User包含对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... 而只是包含enabled设置为TRUE的那个地址!
有人能帮我编写这个查询吗?
Include
?据我所知,System.Data.Objects.ObjectQuery
的Include
方法只接收一个字符串参数。 - King KingInclude
并不是那么强大,你无法在包含之前执行任何filter
。 - King King