2011-07-05 64 views
1

我有下面的代碼:凡LINQ查詢

b.Text = myDataContext.purchases.Count().ToString(); 

"b"label,我有aspx頁面上。

我要添加到代碼:其中items.main ==真,就像我在這裏:

 var bla = from items in myDataContext.items 
        where items.main == true 
        select items; 

我怎麼能做到這一點的:b.Text = myDataContext.purchases.Count().ToString();

我有表:items列的itemId和列的主要(位)。

和表:purchase

上購買我有柱itemId(與關係)

回答

8

有,需要一個謂詞(過濾器)的Count()過載;而== true是多餘的,所以如果main是的購買的一部分:

b.Text = myDataContext.purchases.Count(p => p.main).ToString(); 

通過編輯,您將需要加入,無論是通過幫助成員:

b.Text = myDataContext.purchases.Count(p => p.item.main).ToString(); 

或手動:

b.Text = (from p in myDataContext.purchases 
      join i in myDataContext.items on p.itemId equals i.itemId 
      where i.main 
      select p).Count().ToString(); 
+0

Gravell - 謝謝,我已經發布了沒有重要細節的問題。我現在編輯它...你的答案仍然相關? – Oshrib

+1

+1,但應購買=> purchase.item.main我認爲 – Rob

+0

@BSide @Rob更新以反映編輯 –