Поскольку с каждым Order
будет связан элемент, связанный с ним через forigen ключ ItemsId
и навигационное свойство Items
, вы должны добавить свойство коллекции Orders к вашему объекту Items
.
public class Items
{
public int Id { get; set; }
public string Code { get; set; }
public int Quantity { get; set; }
public ICollection<Orders> Orders { set; get; }
}
Теперь можно использовать запрос LINQ, чтобы получить оставшееся количество для каждого элемента.Я бы создал модель представления / DTO для представления этих данных.
public class ProductVm
{
public int Id { set; get; }
public string Code { set; get; }
public int RemainingQuantity { set; get; }
}
Теперь в вашем запросе LINQ получите элементы, получите сумму количества из коллекции заказов каждого элемента и вычтите ее из значения свойства количества..
var products = db.Items
.Select(p => new ProductVm
{
Id = p.Id,
Code = p.Code,
RemainingQuantity = p.Quantity - p.Orders
.Sum(n => n.Quantity)
}).ToList();
Здесь тип products
будет List<ProductVm>
.