2 つの LINQ クエリ (ネスト) を使用しています
クエリで達成したいことは次のとおりです。
私の内部クエリでは
UserLocation
2 つの条件を使用してオブジェクトのコレクションを取得する
私の外側のクエリで
- 内部クエリのコレクションから、各オブジェクトのプロパティに一致するフィルター処理された
User
オブジェクトのコレクションを取得します。User.UID
UserLocation.UID
UserLocation
私はコード的にはほとんどそこにいます.最後のステップが欠けているだけです-外部クエリを取得してUserLocation
コレクションを列挙し、UID
.
私のコードには 2 つのクエリがあります。一番上のクエリは、内部クエリと必要な条件 (および matching ) を使用してオブジェクトのFullName
プロパティを取得する実際の例です。User
UID
2 番目のクエリは、私が問題を抱えているクエリです。私は何が欠けていますか?
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
オブジェクトの を返します。
2 番目のクエリではUser
、条件に一致するオブジェクトのコレクションを返します。
興味のある方のために、2 番目のクエリを 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)));