我正在使用两个 LINQ 查询(嵌套)
这是我希望我的查询实现的目标:
在我的内心查询中
UserLocation使用两个条件检索对象集合
在我的外部查询中
- 从内部查询的集合中检索与每个对象的属性匹配的过滤
User对象集合。User.UIDUserLocation.UIDUserLocation
我几乎就代码而言,我只是错过了最后一步——我不知道如何让外部查询枚举UserLocation集合并匹配UID.
在我的代码中,我有两个查询,第一个是使用内部查询和我需要的条件(以及匹配)获取对象FullName属性的工作示例。UserUID
第二个查询是我遇到的问题。我错过了什么?
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)));