不包含' Sum'的定义

时间:2016-10-20 15:32:15

标签: c# asp.net-mvc

我有using System.Linq;因此我认为我的语法错误但我看不到它

public void Count()
{
    var count = _context.Objects
        .Select(i => new { i, ViewCount = i.Relations.Sum(j => j.ViewCount) });
}

3 个答案:

答案 0 :(得分:-1)

i.Relations所拥有的成员由i.Relations类型决定。由于您添加了using System.Linq;,因此最有可能的解释是i.Relations被声明为某种不会实现IEnumerable<T>的类型。 i.Relations可以是各种各样的东西,但听起来好像编译器告诉你有一件事情不是。

答案 1 :(得分:-1)

您最有可能尝试对字符串或任何其他对象值集合求和。

请尝试在sum之前转换该值,您必须确保j.ViewCount始终为整数,否则您将获得异常。请尝试以下代码。

public void Count()

{     var count = _context.Objects         .Select(i =&gt; new {i,ViewCount = i.Relations.Sum(j =&gt; Convert.ToInt32(j.ViewCount))}); }

答案 2 :(得分:-2)

Relations属性应该是IEnumerable。

确保

using System.Linq

句子,因为是谁带来了Sum扩展方法