2014-03-05 99 views
0

我有以下两个模型类显示平均评分

public partial class Items 
{ 
    public Items() 
    { 
     this.Items_RATINGS = new HashSet<Items_RATINGS>(); 
    } 

    public int ITEMID { get; set; } 
    public string ITEMNAME { get; set; } 

    public virtual ICollection<Items_RATINGS> Items_RATINGS { get; set; } 
} 

public partial class Items_RATINGS 
{ 
    public int ItemsID { get; set; } 
    public byte ItemsRATING { get; set; } 
    public string COMMENTS { get; set; } 

    public virtual Items Items { get; set; } 
} 

在控制器电话,我已经加入

return View(db.Items.Include(c => c.Items_RATINGS).ToList()); 

考虑,我打电话

Html.DisplayFor(modelItem => item.Items_RATINGS.Average(dr => dr.ItemsRATING)) 

然而,我得到以下错误

模板只能用于字段访问,属性访问,单维数组索引或单参数自定义索引器表达式。

我如何retireve平均值

回答

0

这是更好地计算出平均值,然后传递给视图,所以在你的模型,你可以有这样的:

private ICollection<Items_RATINGS> _Items_RATINGS ; 

    public double Items_RATINGS 
    { 
     get { return _Items_RATINGS.Average(c => c.ItemsRATING); } 
     set; 
    } 

,然后绑定Items_RATINGS在视图中:

Html.DisplayFor(modelItem => item.Items_RATINGS) 
+0

我收到以下错误:附加信息:值不能为空。 – user3382134

+0

知道它修复了更新的设置方法 – user3382134