簡體   English   中英

如何調試linq中的“發生空引用異常”?

[英]how to debug `Null reference exception occured` in linq?

string search = textBoxNachname.Text;
var Liste = _db.T_Subscribers
                .Where(x => x.firstname.StartsWith(search))
                .Except(_selectedcourse.T_Coursedetail.Select(b => b.T_Subscribers))
                .Where(M => M.T_Tln_Student == null || M.T_Tln_Stud.Status.T_Status.T_Statusart == _studentEx).ToList();

我已經編寫了上面的代碼以提取一個列表,該列表的名稱以文本框中的Search元素開頭...然后,我需要排除那些已經報名參加該課程的名稱,如果他們不是該機構的學生(M => M.T_Tln_Student == null) ,前學生包括在列表中。

但是我正在收到Null引用異常...

這是調試的方法:

var Liste1 = _db.T_Subscribers.Where(x => x.firstname.StartsWith(search));
var Liste2 = Liste1.Except(
               _selectedcourse.T_Coursedetail.Select(b => b.T_Subscribers));
var Liste3 = Liste2.Where(M =>
                M.T_Tln_Student == null ||
                M.T_Tln_Stud.Status.T_Status.T_Statusart == _studentEx);
var Liste = Liste3.ToList();

重點是使用此技術拆分事物。

看這行:

.Where(M => M.T_Tln_Student == null || 
            M.T_Tln_Stud             // might be null
                        .Status      // might be null
                        .T_Status    // might be null
                        .T_Statusart // might be null
                           == _studentEx)

我建議您從這里開始搜索NullReferenceException

.Where(M => M.T_Tln_Student == null || 
            M.T_Tln_Stud == null ||
            M.T_Tln_Stud.Status == null||
            M.T_Tln_Stud.Status.T_Status == null ||
            M.T_Tln_Stud.Status.T_Status.T_Statusart == null ||
            M.T_Tln_Stud.Status.T_Status.T_Statusart == _studentEx)

暫無
暫無

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

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