簡體   English   中英

'可為空的 object 必須有一個值。' 對於列表 LINQ c#

[英]'Nullable object must have a value.' for List in LINQ c#

在數據庫中,我有下一個 model tblWorkItem和下一個字段:

public List<xWorkItemItemFailReason> WorkItemItemFailReasons { get; set; }

當我試圖從數據庫中獲取tblWorkItem數據時

_db.tblWorkItem.Where(x=>x.WorkItemItemFailReasons != null)

我有下一個錯誤

System.InvalidOperationException:“可空 object 必須有一個值。”

我如何檢查此字段是否不是 null?

xWorkItemItemFailReason類中的問題。 它具有一些不可為空的原始類型( intlong 、...)屬性,但在數據庫表中沒有值。 檢查它們。

在您的模態類中有一些不可為空的字段,因此當從數據庫中獲取時,它帶有空值。 所以讓它可以為空。 public int? FieldName {Get;set;}

如果它的 .net core 3.0 或更早版本存在一個已知問題

簡單的查詢過濾器打破了簡單的投影https://github.com/dotnet/efcore/issues/13517

您還應該確保您的外鍵關系沒有數據完整性問題。 父表中的外鍵值在子表中不存在也會拋出此異常(例如,如果沒有子表,則將外鍵設置為 0 而不是 null,並且數據庫中的子記錄沒有鍵值為 0)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM