Tôi có những điều sau đây, nhưng nó thất bại với một NullReferenceException
:Làm cách nào để nhà điều hành Null Coalesce hoạt động trong ASP.NET MVC Razor?
<td>@item.FundPerformance.Where(xx => fund.Id == xx.Id).FirstOrDefault().OneMonth ?? -</td>
OneMonth
được định nghĩa là
public virtual decimal? OneMonth { get; set; }
và giá trị của nó là null tại thời điểm mà nó không thành công.
Tôi nghĩ toán tử Null Coalesce sẽ kiểm tra nếu giá trị rỗng của nó và nếu có, trả về giá trị ở bên phải toán tử?
Tôi cần thay đổi gì để thực hiện công việc này?
Bạn có chắc chắn nó không phải là đối tượng 'FundPerformance' được chọn bởi' FirstOrDefault() 'có null không? Nếu đó là trường hợp hơn bạn muốn cố gắng để có được một tài liệu tham khảo từ một đối tượng là null, trong đó cung cấp cho một 'NullReferenceException' –
Tôi nghĩ Joakim là đúng. Ngoài ra, bạn thực sự nên thực hiện phép tính này trong ViewModel và chỉ chuyển câu trả lời vào khung nhìn dao cạo của bạn. Và nếu bạn đang thực sự làm một tra cứu cơ sở dữ liệu từ quan điểm của bạn thì đó là rất nghịch ngợm! :-) –
Xin chào các bạn. Nó chỉ ra cả hai của bạn chính xác. Tôi đã làm một câm. Chỉ cần để giảm bớt bất kỳ mối quan tâm, tôi hứa tôi không thực hiện cuộc gọi cơ sở dữ liệu từ Xem! ViewModel được điền trong Controller thông qua một cuộc gọi Service tới Repository. – DaveDev