簡體   English   中英

LINQ語句中為Null異常,但在LINQPAD中返回結果

[英]Null exception in LINQ statement, but returns results in LINQPAD

我下面有一個LINQ語句,該語句應將110條記錄返回到我的視圖。 當我檢查SQL Server時,我的表中有記錄,但是當我嘗試基於一個ID檢索這些記錄並執行@foreach(var item in Model)導致空引用錯誤。 任何幫助,將不勝感激。

LINQPAD-返回110條記錄(RPT是模式)

RPT.Team_History.OrderByDescending (r => r.DateOfAction).Where(r => r.MgrID ==212) 

控制器代碼 (使用DB First方法。當VS生成模型時,刪除了RPT模式)

 public PartialViewResult _TeamTransitionDisplay()
    {
        var mgrID = 212;
        IEnumerable<TeamHistoryViewModel> teamHistory;
        teamHistory = db.Team_History
                     .Where(x => x.MgrID == @mgrID)
                     .Select(x => new TeamHistoryViewModel
                     {
                         DateOfAction = x.ActionDate,
                         DeptID = x.DeptID,
                         Operation = x.Operation,
                         StartDate = x.StartDate,
                         AStartDate = x.AStartDate,
                         FStartDate = x.FStartDate
                     }).ToList();

        return PartialView("_TeamDisplay", teamHistory);
    }

[NullReferenceException:對象引用未設置為對象的實例。

意見將不勝感激。

我認為,當它嘗試獲取您的模型值之一時,它可能為null,因此引發錯誤。您可以嘗試對可為空的屬性添加此檢查,如果只有nullable,則檢查是否為null,我添加了所有這些,因為我不知道哪個可以為空

teamHistory = db.Team_History
                 .Where(x => x.MgrID == @mgrID)
                 .Select(x => new TeamHistoryViewModel
                 {
                     DateOfAction = (x.ActionDate != null ? x.ActionDate : something here when null),
                     DeptID = (x.DeptID!= null ? x.DeptID: 0),
                     Operation = (x.Operation!= null ? x.Operation: "operation"),
                     StartDate = (x.StartDate!= null ? x.StartDate: DateTime.MinValue),
                     AStartDate = (x.AStartDate != null ? x.AStartDate : DateTime.MinValue),
                     FStartDate = (x.FStartDate != null ? x.FStartDate : DateTime.MinValue)
                 }).ToList();

暫無
暫無

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

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