Мне нужно вывести определенное значение из вложенного объекта, не используя цикл 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' в классе заказа? –
Вам нужно иметь некоторые операционные системы в вашем linq, например x => x.Address.Address1 == "something" –