2009-05-14 13 views

答えて

3

あなたはSQLの場合と同じように、参加するつもりです。あなたはテーブル間の全経連を持っていない場合は

DataSet DS = DB.Select().From<Table1>().InnerJoin<Table2>().ExecuteDataSet(); 

は、手動でそれぞれの列を指定する必要があります:あなたは、スキーマ内の外部キー関係を持っている場合は 、サブソニックは直接参加し理解するのに十分なスマートです結合を作成するための表:

DataSet DS = DB.Select().From<Table1>().InnerJoin(Table1.FKIColumn,Table2.IDColumn).ExecuteDataSet(); 

同様に、左外部結合などを作成することができます。

レビュアーには、単純なFKI制約でのみ参加できます。たとえば、私は、 "INNER JOIN Table2 in Table1.FKI = Table2.IDとTable2.CreateDate> Table1.CreateDate"をSubSonicから直接行う簡単な方法は見つけられませんでした。

SubSonicの複数のテーブル結合を使用する大きな欠点は、両方のテーブルに同じ名前の列がある場合に問題が発生することです。

+0

私は思われるかもしれませんが、DBとはどこに住んでいるのですか? – TheVillageIdiot

+0

DBオブジェクトを取得する方法を教えてください。私は亜音速プロジェクトのページでも見ましたが、私はそれにアクセスできません。 – TheVillageIdiot

+0

DBはSubSonic 2.1+にあります。一度それを取得したら、同じ結果を得るために "new SubSonic.Select()"を実行することもできます。 –

関連する問題