2014-01-14 52 views
1

我有一個foreach循環,它顯示我的網站上的所有propertys。WebMatrix - 在foreach循環內計數

在那個foreach循環中,我想對每個屬性有多少評論進行計數。但是,我無法將變量傳遞給循環。這是我的代碼:

foreach(var row in queryResults){ 
var propertycount = db.Query("SELECT * FROM Property_Reviews WHERE PropertyID = @0", row.PropertyID); 
var counter = propertycount.Count(); 
    <p>Property Name: @row.PropertyName 
    <p>Number of Reviews: @counter 
} 

任何想法,我哪裏會出錯?

目前,不能使用與

非可調用部件「System.Collections.ObjectModel.ReadOnlyCollection.Count」這個誤碼的方法等。

回答

2

嘗試取出數後的括號,即

propertycount.Count 
+0

你,先生,是一個傳奇!那工作的一種享受,非常感謝 – Gavin5511

+0

嘿,沒問題! :) – russau

2

你並不需要進行查詢,然後讓「伯爵」財產

你可以直接在「SELECT COUNT」 :

var counter = db.Query("SELECT count(*) as counterField as myCountFROM Property_Reviews WHERE PropertyID = @0", row.PropertyID)[0].counterField; 
<p>Number of Reviews: @counter </p>  

var result = db.Query("SELECT count(*) as counterField as myCountFROM Property_Reviews WHERE PropertyID = @0", row.PropertyID)[0].counterField; 

var counter = result[0].counterField; 

<p>Number of Reviews: @counter </p> 
+0

我第一次嘗試。該頁面沒有錯誤,但不是返回的計數,我在每個foreach項目中返回「System.Collections.ObjectModel.ReadOnlyCollection'1 [System.Object]」? – Gavin5511

+0

嘗試與var counter = db.Query(「SELECT count(*)as myCount FROM Property_Reviews WHERE PropertyID = @ 0」,row.PropertyID)[0] .myCount; – Gonzalo

+0

感謝Gonzalo,已經工作了,也讓我的代碼變得更簡單了。我只是想弄清楚爲什麼它工作大聲笑 – Gavin5511