私は2つのテーブル、Table1
とTable2
を持っています。あなたが気づくことができたようLINQでJOINの後にすべての列を選択
var myOutput = from object1 in Table1
join object2 in Table2
on object1.Property1 equals object2.Property2 into Table3
from output in Table3.DefaultIfEmpty()
select new
{
object1.Property1,
object1.Property2,
//...
output.Property3,
output.Property4,
//...
};
が、私は結果のテーブルから両方のオブジェクトのすべてのプロパティを(参加中に考慮さenumerablesは、特定の種類のオブジェクトを含む選択したい:私は左外部結合、たとえば、実行したいです - これらは両方の関係で異なる)。もちろん、例に示すように、匿名選択のプロパティを選択できます。
私の質問は、すべてのプロパティを手動で指定しないようにする方法です。私はSELECT * FROM TABLE3
のようなものを持っています。TABLE3
は結果として得られる関係です(TABLE1
とTABLE2
を結んだ後)。
事前に感謝の手紙をありがとうございます。
最初のオプションでは、割り当て中にToString()メソッドを使用しませんか?その場合、myOutput.ToArray()を実行した後、Object1という名前の列にインスタンス「Namespace.MyType」の値を取得します... – Jamie
いいえ、ToString()を呼び出さないでしょう。 ?あなたはそれをある種のUIコントロールにバインドしていますか? * control *は 'ToString()'を呼び出すかもしれませんが、それは本物のクエリそのもので、単にオブジェクト全体を使い、それをプロパティにマップします。 –
あなたのコメントは私に考えを与えました - 私は両方のオブジェクトの参照を含む新しいクラスを作った。次に、これらの特定のプロパティにバインドするのは簡単です:) – Jamie