Tenho três entidades:
public class Product
{
public int Id { get; set; }
public string Description { get; set; }
public ICollection<ProductPrice> Prices { get; set; }
public Product() => Prices = new HashSet<ProductPrice>();
}
public class ProductPrice
{
public int ProductId { get; set; }
public int ProductTypePriceId { get; set; }
public decimal Price { get; set; }
public Product Product { get; set; }
public ProductTypeOfPrice ProductTypeOfPrice { get; set; }
}
public class ProductTypeOfPrice
{
public int Id { get; set; }
public string Description { get; set; }
}
Ao efetuar a sequinte query:
var query = DataContext.Products
.Include(p => p.Prices)
.OrderByDescending(p => p.Id)
.Take(2)
.ToList();
Tenho o retorno:
[
{
"id": 16642,
"description": "PRODUTO 1",
"prices": [
{
"productId": 16642,
"productTypePriceId": 1,
"price": 26.9
},
{
"productId": 16642,
"productTypePriceId": 2,
"price": 21.65
},
{
"productId": 16642,
"productTypePriceId": 3,
"price": 20.22
}
]
},
{
"id": 16641,
"description": "PRODUTO 2",
"prices": [
{
"productId": 16641,
"productTypePriceId": 1,
"price": 25.9
},
{
"productId": 16641,
"productTypePriceId": 2,
"price": 21.65
},
{
"productId": 16641,
"productTypePriceId": 3,
"price": 20.22
}
]
}
]
Como faço para filtrar somente o productTypePriceId == 1 e obter um retorno como abaixo?
[
{
"id": 16642,
"description": "PRODUTO 1",
"prices": [
{
"productId": 16642,
"productTypePriceId": 1,
"price": 26.9
}
]
},
{
"id": 16641,
"description": "PRODUTO 2",
"prices": [
{
"productId": 16641,
"productTypePriceId": 1,
"price": 25.9
}
]
}
]
Agradeço a atenção desde já! Obrigado.