1

StudentEntriesという 2 つの一般的なリストがあり ます。これらは 1 対 0..1 の関係にあります。学生 1:0..1 エントリ

学生名、ID、英語、数学の詳細のリストが存在する場合は、エントリから取得したいと考えています。

私の LINQ クエリは次のとおりで、se.Englishで null 参照エラーが発生しました。助けていただけますか?ありがとう。

var query = from s in students
            join t in entries
            on s.StudentDetailID equals t.StudentDetailID into StudentEntries
            from se in StudentEntries.DefaultIfEmpty()                                    
            select new { s.StudentDetailID, s.LastName, s.FirstName,
            se.English};
4

2 に答える 2

1

あなたが言ったように、1-0..1 の関係があるため、se.english が null になる可能性があります (左外部結合を使用したため)。クエリでそれを処理する必要があります。 null の場合は "" を入れてください。任意に処理できます。

var query = from s in students
            join t in entries
            on s.StudentDetailID equals t.StudentDetailID into StudentEntries
            from se in StudentEntries.DefaultIfEmpty()                                    
            select new { s.StudentDetailID, s.LastName, s.FirstName,
            English = se.English?? ""};
于 2013-04-24T12:57:10.547 に答える