的定義,我有using System.Linq;
所以我想我的語法是錯誤的,但我不能看到它不包含「點心」
public void Count()
{
var count = _context.Objects
.Select(i => new { i, ViewCount = i.Relations.Sum(j => j.ViewCount) });
}
的定義,我有using System.Linq;
所以我想我的語法是錯誤的,但我不能看到它不包含「點心」
public void Count()
{
var count = _context.Objects
.Select(i => new { i, ViewCount = i.Relations.Sum(j => j.ViewCount) });
}
是i.Relations
已經由類型的i.Relations
確定的成員。由於您包含using System.Linq;
,迄今爲止最可能的解釋是i.Relations
被聲明爲某種類型,它不會執行IEnumerable<T>
。 i.Relations
可能是各種各樣的東西,但它聽起來像編譯器告訴你有一件事情不是。
關係屬性應該是一個IEnumerable。請確保您有
using System.Linq
句話,因爲這是誰帶來的總和擴展方法
這是問題的第一行 –
你很可能試圖總結字符串或任何其他對象值集合。
請嘗試在sum之前轉換該值,您必須確保j.ViewCount始終爲整數,否則您會遇到異常。請嘗試下面的代碼。
public void Count()
{ 變種計數= _context.Objects 。選擇(I =>新的{I,觀看次數= i.Relations.Sum(J => Convert.ToInt32(j.ViewCount))}); }
您是否需要i.Relations上的.ToList()? –
關係是IEnumerable還是不是?如果不是,那麼你不能使用'Sum'方法或任何其他的LINQ方法。 –
Christos
如果'i.Relations'沒有名爲'Sum'的方法或擴展,那很可能與'i.Relations'的類型有關。你認爲這裏的任何人都知道「i.Relations」的類型比你多嗎?或甚至一樣多? –