ネストされたクラス階層があります
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace Models
{
public class Document
{
public Document();
public Guid ID { get; set; }
public List<Order> Orders {get; set;}
}
public class Order
{
public Order();
public Guid ID { get; set; }
public List<OrderItem> OrderItems {get; set;}
}
public class OrderItem
{
public OrderItem();
public Guid ID { get; set; }
public String ProductName { get; set; }
public int Qty { get; set; }
}
}
IDはGUIDです。指定されたGUIDを持つオブジェクトを一般的に検索する必要があります。1つのアプローチは、このためのクラスに対するインターフェースを指定することであるとアドバイスされています(SO質問を参照)。ただし、クラスが生成されるため、クラスを変更しない方が好きです。そこで、LINQtoObjectsを使用したアプローチを調査したいと思います。また、このアプローチに関するこの優れたSO投稿を見つけました:LINQ to Objects SO投稿ですが、もちろん、クエリですべての子クラスを指定する必要があります。
楽観的には、「GUIDがxのオブジェクトを取得する」ことを望んでいました。GUIDは一意であるため、経路を指定する必要はないと感じました。ただし、これはLINQでは不可能だと思います???
編集:上記のコードを更新しました。謝罪。GUID=XのOrderItemを抽出したい