考慮在以下表格與數據Linq查詢到多個相關數據順序由
Customers -> Orders -> Items
Customers ->
A
B
C
Orders ->
o1 - A,
o2 - A,
o3 - B,
o4 - C
OrderItems ->
o1 - Item1,
o1 - Item2,
o2 - Item3,
o3 - Item2,
o4 - Item1
Item ->
Item1,
Item2,
Item3,
Item4
我們有一個類似的映射如上面我們的數據庫。 現在LINQ我想獲得通過是逗號項目排序中的客戶名單分隔 如:
Customer Items
C Item1
A Item1, Item2
B Item2
我用盡像這樣
Customer.OrderBy(cust => string.Join(",", cust.Orders
.SelectMany(order=>order.OrderItems)
.Select(orderItem=> orderItem.Item.Name)
.OrderBy(item=>item)));
但string.join是可不允許內部LINQ陳述.. 它不需要顯示在我的網格中的項目,但我需要得到客戶按逗號分隔項目排序..
而且我也不想要這在UI級別完成作爲需要在IQueryable客戶對象上完成排序,並添加其他篩選器並稍後執行。 通過使用IQueryable Customer對象進行查詢,返回IQueryable對象。