IQueryable<double?> query = (from t in ctx.MyList orderby t.MyNums select t.MyNums).Take(1);
IQueryable<double> q2 = query.Cast<double>();
IEnumerator<double> enumerator = q2.GetEnumerator();
while (enumerator.MoveNext())
{
double d = enumerator.Current;
return System.Convert.ToInt32(d);
}
上述代碼的上下文是我試圖從SharePoint列表列中獲取最大整數值。 SharePoint似乎將所有列表項值視爲「Number」,所以這就是我最初擁有「double」的原因。而不是「int?」。我怎麼能更好地寫這個查詢?此外,目前它根本不起作用......它說「在上次導航後只能指定查詢選項(orderby,where,take,skip)」。那是什麼意思?謝謝..LINQ to SQL簡單查詢以獲得單個int值
其他信息例如「爲什麼Max()在SharePoint Web Services中不起作用」
轉至以下鏈接:http://msdn.microsoft.com/en-us/library/dd673933.aspx。該說明載有說以下內容:
集合在LINQ語法表示的查詢比在具象狀態傳輸(REST)使那些更廣泛的基於所使用的數據服務URI語法。如果查詢無法映射到目標數據服務中的URI,則會引發NotSupportedException。
非常感謝。我現在很尷尬,我沒有注意到這種方法。 – KyleM