Основной идеи в psuedocodeSelect * из двух таблиц в два отдельных списках
Select(a, b) => new Tuple<List<Item1>, List<Item2>>(a, b)
Я пытаюсь сделать это в:
- Один запроса к БД
- , очевидно, используя linq (запрос или синтаксис метода)
Здесь приведены t горе классов участвуют
public class Bundle
{
public Guid Id { get; set; }
public string Name { get; set; }
public HashSet<Inventory> Inventories { get; set; }
}
public class Inventory
{
public Guid Id { get; set; }
public string Name { get; set; }
public int Stock { get; set; }
}
Прямо сейчас все, что я могу думать о
using (var context = new MyEntities())
{
return new Tuple<IEnumerable<Inventory>, IEnumerable<Bundle>>(context.Inventories.OrderBy(a => a.Stock).ToList()
, context.Bundles.Include(b => b.Inventories).OrderBy(c => c.Name).ToList());
}
Однако это ударит по базе данных дважды.
Я знаю, что UNION
используется для комбинирования наборов результатов из 2 разных запросов, но два запроса должны иметь одинаковые столбцы, поэтому я предполагаю, что он наилучшим образом используется при выборе тех же данных.
Как я могу выбрать данные из двух разных таблиц в два отдельных списка только с одним ударом по db?
Любая конкретная причина для желающих попасть только один раз, когда база данных? – Sam
Просто чтобы свести к минимуму количество выполненных запросов – Adrian