1

要件

  1. Table1とTable2を結合する必要があります
  2. 2つのテーブル間のキーは、System.Guidタイプであり、null許容値タイプではないIDです。
  3. Table2.IDがnullの場合、Table1からnullレコードを取得する必要があります。

私が書いたLINQ構文は次のとおりです。

from records in DBContext.Table1
join history in DBContext.Table2 into recordhistory
from records in recordhistory.DefaultIfEmpty()
select (n => n);

私が得たエラーは、「null値は、null許容値ではないタイプであるSystem.Guidタイプのメンバーに割り当てることはできません。」です。

誰かがこれについて私にアドバイスできますか?どうもありがとうございます。

4

2 に答える 2

0

ID プロパティがあると仮定すると、以下は内部結合として機能するはずです。

var result = DBContext.Table1
              .Join(DBContext.Table2, t1 => t1.ID, t2 => t2.ID, (t1, t2) => t1);
于 2012-09-17T01:10:42.147 に答える
0

あなたが提供したクエリは、onステートメントを指定する必要があると言ってエラーを出すはずです。したがって、次のようになるはずです。

from records in DBContext.Table1
join history in DBContext.Table2 on records.ID equals history.ID into temp
from recordhistory in temp.DefaultIfEmpty()
select new { Record = records, History = recordhistory };
于 2012-09-17T02:52:24.510 に答える