foreach
ループを使用しないでネストしたオブジェクトから特定の値を取得する必要があります。私はここで正しいアプローチは、linqクエリだと思うが、私は必要な値をつかむことができません。入れ子オブジェクトから値を取得するLinqクエリ
public class Order
{
public int OrderID { get; set; }
public List<OrderItems> { get; set; }
}
public class OrderItems
{
public int OrderItemID { get; set; }
public string ItemName { get; set; }
public int Quantity { get; set; }
public List<OrderItemShipping> OrderItemShippings { get; set; }
}
public class OrderItemShipping
{
public int OrderItemShippingID { get; set; }
public Address ShipAddress { get; set; }
public class Address
{
public int AddressID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Address1 { get; set; }
public string City { get; set; }
public string State { get; set; }
public string PostalCode { get; set; }
}
私のような何かをできるようにしたい:クラス構造を考慮
var shipToAddress = Order.OrderItems.OrderItemShipping.FirstOrDefault(x => x.Address.Address1);
しかし、私は、私は必要な値を取得することができないだから私の構文は、正しいあってはなりませんか?
おそらく 'SelectMany'はあなたが探しているものですか? – DavidG
注文クラスの 'List'タイプのあなたのプロパティ名はどこですか? –
x => x.Address.Address1 == "something"のようなlinqに何らかの操作をする必要があります –