我有以下,但它與NullReferenceException
失敗:如何讓Null Coalesce運算符在ASP.NET MVC Razor中工作?
<td>@item.FundPerformance.Where(xx => fund.Id == xx.Id).FirstOrDefault().OneMonth ?? -</td>
OneMonth
被定義爲
public virtual decimal? OneMonth { get; set; }
其值爲null在它失敗的時間。
我認爲空合併運算符會測試它是否爲空,如果是,則返回值的運算符的權利?
我需要做些什麼才能完成這項工作?
您確定它不是'FirstOrDefault()'選擇的'FundPerformance'對象,它是null嗎?如果是這種情況,你會試圖從一個null對象的引用,這給出了一個'NullReferenceException' –
我認爲Joakim是正確的。此外,你應該真的在ViewModel中做這個計算,並將答案傳遞給你的剃刀視圖。如果你真的從你的角度來看數據庫查詢,那很淘氣! :-) –
嗨,大家好。事實證明你們倆都是對的。我做了一個愚蠢的。只是爲了減輕任何擔憂,我保證我沒有從視圖進行數據庫調用! ViewModel通過對存儲庫的服務調用填充到Controller中。 – DaveDev