WebMatrix - 在foreach循环中计数

时间:2014-01-14 16:45:44

标签: sql razor foreach 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 个答案:

答案 0 :(得分:2)

尝试在计数后删除括号,即

propertycount.Count

答案 1 :(得分:2)

您不需要进行查询,然后计算&#34;计算&#34;属性

您可以直接执行&#34; SELECT COUNT&#34;:

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>