1
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();

名前がテキストボックスの検索要素で始まるリストを抽出するために上記のコードを作成しました...次に、すでにコースに登録している名前を除外する必要があります(M => M.T_Tln_Student == null)。卒業生もリストに含まれています..

しかし、Null参照例外が発生しました...

4

2 に答える 2

4

これをデバッグする方法は次のとおりです。

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();

焦点は、この手法を使用して物事を分割することです。

于 2013-10-08T13:32:53.310 に答える
0

この行を見てください:

.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)
于 2013-10-08T13:30:28.630 に答える