8
我已經看到這個問題的變化遍佈整個地方,但沒有答案爲我工作。他們中的大多數只是試圖總結單列太多 - 沒有什麼更復雜的,如下面一個產品的總和:EF Linq產品總和,當沒有記錄返回
public double Total
{
get
{
return _Context.Sales.Where(t => t.Quantity > 0)
.DefaultIfEmpty()
.Sum(t => t.Quantity * t.Price);
}
}
如果沒有行返回我要回零。但是,如果沒有行被返回,.Sum()失敗。試圖插入Convert.ToDouble和使用空的合併操作符有多種選擇,但它們仍然給我錯誤。
我敢肯定我錯過了一個簡單的方法來做到這一點 - 任何幫助之後,長時間撞在谷歌磚牆上的巨大讚賞!
感謝@lazyberezovsky。試過了 - 收到編譯器錯誤:操作符'??'不能應用於'double'和'int'類型的操作數。但這正是我想要達到的目標... – user1622713
@ user1622713我認爲鑄造爲可空類型將幫助你 –
@lazyberezovsky不'null'如果序列爲空則不返回零而不是'null'? –