Select(a, b) => new Tuple<List<Item1>, List<Item2>>(a, b)
我試圖做到這一點:
- 一個查詢到數據庫
- 顯然是在利用linq(查詢或方法語法)
這裏是t WO類涉及
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