我正在使用两个 LINQ 查询(嵌套)
这是我希望我的查询实现的目标:
在我的内心查询中
UserLocation
使用两个条件检索对象集合
在我的外部查询中
- 从内部查询的集合中检索与每个对象的属性匹配的过滤
User
对象集合。User.UID
UserLocation.UID
UserLocation
我几乎就代码而言,我只是错过了最后一步——我不知道如何让外部查询枚举UserLocation
集合并匹配UID
.
在我的代码中,我有两个查询,第一个是使用内部查询和我需要的条件(以及匹配)获取对象FullName
属性的工作示例。User
UID
第二个查询是我遇到的问题。我错过了什么?
ownerLiteral.Text =
Users.First(u => u.UID.Equals(
UserLocations.First(s => s.IsOwner == true && s.LID.Equals(building.LID)).UID)).FullName;
var propertyteam =
Users.Where(c => c.UID.Equals(
UserLocations.Where(x => x.IsPropertyTeam == true && x.LID.Equals(building.LID))));
编辑:修复了问题
我忘记了它UserLocations
的成员Users
——我缩短了我的查询并习惯于.Any
选择UserLocations
符合我条件的成员,然后只返回User
.
在第一个查询中,我返回FullName
对象User
。
在第二个查询中,我现在返回User
符合条件的对象集合。
对于那些感兴趣的人,我将第二个查询绑定到 DataList,然后在用户控件中评估他们的 FullName。
ownerLiteral.Text =
Users.First(
u => u.UserLocations.Any(
ul => ul.IsOwner == true && ul.LID.Equals(building.LID))).FullName;
var propertyteam =
Users.Where(
u => u.UserLocations.Any(
ul => ul.IsPropertyTeam && ul.LID.Equals(building.LID)));