我有using System.Linq;
因此我认为我的语法错误但我看不到它
public void Count()
{
var count = _context.Objects
.Select(i => new { i, ViewCount = i.Relations.Sum(j => j.ViewCount) });
}
答案 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扩展方法