У меня есть 2 таблицы, один заказ и один продукт. Заказы имеют OrderID, OrderName и AccessID, в то время как Продукты имеют ProductID, ProductName и OrderID. В этих таблицах есть больше полей, но они подходят для моей проблемы.
Итак, я хочу получить первый набор продуктов в таблице продуктов с их идентификатором OrderID, в котором заказ содержит менее 8 продуктов, а AccessID равен 1.
Я знаю, что могу сделать это в 2 операторах LINQ, сначала отфильтровать по AccessID в Orders, а затем создать цикл в таблице продуктов, чтобы получить первый экземпляр Count <8, однако я уверен, что есть лучший способ сделать это, возможно, в 1 заявлении. </p>
Спасибо за вашу помощь и время
Это то, что я придумал на данный момент и все еще должен быть проверен: -
public Order OrdersLessThanEightItems()
{
IEnumerable<int> orderId = null;
int accessID = 1;
Order order = (from o in db.Orders
where o.AccessID == accessID && o.Products.Count < 8
orderby o.Products.Count ascending
select o).FirstOrDefault();
return order;
}