2012-09-17 19 views
3

我有2條LINQ語句,下面可以將2個linq語句設爲1嗎?

// Extracts a list of int from List<BookmarkedDeal>   
IEnumerable<int> IDs = user.BookmarkedDeals.Select(d => d.DealId); 

// Calls method to return List<Deal> using IDs from previous statement 
IEnumerable<Deal> deals = DealBL.FindActiveById(IDs).OrderBy(d => d.Store.Name); 

我認爲這是可能的,但我不能在此刻讓我的頭周圍。

+2

我覺得你的代碼是僞造的。 'int IDs'應該是'IEnumerable IDs'和'Deal deals' should''IEnumerable deals'。否則它不會編譯。 –

+0

@DanielHilgarth - 丹尼爾,你是對的。我將它們從var改爲澄清,但做得相反。 – dotnetnoob

回答

4

這有什麼問題?

var deals = DealBL.FindActiveById(user.BookmarkedDeals.Select(d => d.DealId)) 
        .OrderBy(d => d.Store.Name); 
+0

Daniel沒有問題,剛開始的時候linq可以使用的所有方法都是壓倒性的。我會放棄它。 – dotnetnoob

2

以防萬一你想擁有它如何會做同樣的與查詢語法的想法:

var deals = from d in DealBL.FindActiveById(
       from d in user.BookmarkedDeals 
       select d.DealId 
      ) 
      orderby d.Store.Name 
      select d; 
相關問題