Mam następujący, ale to w przypadku braku z NullReferenceException
:Jak uzyskać operację Null Coalesce w programie ASP.NET MVC Razor?
<td>@item.FundPerformance.Where(xx => fund.Id == xx.Id).FirstOrDefault().OneMonth ?? -</td>
OneMonth
jest zdefiniowany jako
public virtual decimal? OneMonth { get; set; }
i jego wartość jest zerowa w momencie awarii.
Myślałem, że operator zerowego znoju przetestuje, czy jego wartość zerowa i jeśli tak, zwróci wartość po prawej stronie operatora?
Co muszę zmienić, aby to działało?
Czy jesteś pewien, że to obiekt 'FundPerformance' wybrany przez' FirstOrDefault() 'jest pusty? Jeśli tak jest, to próbujesz uzyskać referencję od obiektu, który jest pusty, co daje 'NullReferenceException' –
. Uważam, że Joakim ma rację. Poza tym powinieneś naprawdę wykonywać te obliczenia w ViewModelu i właśnie przekazywać odpowiedź do swojego widoku maszynki. A jeśli faktycznie robisz przeglądanie bazy danych z twojego widoku, to jest to bardzo niegrzeczne! :-) –
Cześć chłopaki. Okazuje się, że obie są poprawne. Zrobiłem głupiego. Aby złagodzić wszelkie obawy, obiecuję, że nie wykonuję połączenia z bazą danych z widoku! ViewModel jest zapełniany w kontrolerze poprzez wywołanie usługi do repozytorium. – DaveDev