1

C# の次の LINQ ステートメント (単純な外部結合) は、ワイルド例外をスローします。

var query = 
        from cs in db.scan
        join cp in db.patient on cc.pid equals cp.pid into cpGroup
        from cp2 in cpGroup.DefaultIfEmpty()
        select new 
        { 
            Name = ((cp2 == null) ? 
                String.Empty : 
                cp2.plastname + ", " + cp2.pfirstname), 
            DOB = ((cp2 == null) ? 
                DateTime.MinValue : 
                cp2.pdateofbirth) 
        };

例外:

Auf die Variable "cp2" vom Typ "Core.patient" wird vom Bereich "" verwiesen, sie ist jedoch nicht definiert.

翻訳:

タイプ「Core.patient」の変数「cp2」は領域「」によって参照されますが、定義されていません。

ここで何が問題なのですか?ところで。このエラーは、周囲の try catch ブロックではキャッチできません...

4

1 に答える 1

-1

結合に問題がある可能性があります。これは、同じことを達成するための linqish の方法です。

 var query = 
    from cs in db.scan
    from cp in db.patient
    where cs.pid == cp.pid
    select new 
    { 
        Name = cp.plastname + ", " + cp.pfirstname), 
        DOB = cs.pdateofbirth
    };
于 2013-08-09T16:24:40.413 に答える