C#+ LINQ + ADO.NET EF、2つのテーブルを結合し、すべてのフィールドを手動で指定せずにすべてを返す

ado.net c# entity-framework linq

質問

次のように私はADO.NET Entity Frameworkで簡単なLINQクエリを持っています

var result = 
  from itemA in TableA
  join itemB in TableB on itemA.ID = itemB.ID
  select ??????

私はからすべてを選択しようとしていますitemAitemBすべて指定せずにTableATableB

何か考え???

受け入れられた回答

これはあなたが必要なものですか?

    var result = from itemA in TableA 
                 join itemB in TableB on itemA.ID equals itemB.ID
                 select new { itemA, itemB };

あるいは、すべてのフィールドを指定せずに結果オブジェクトを作成するのに役立つ結果クラスを宣言することもできます。

    class ItemAB
    {
        public ItemAB(ItemA a, ItemB b)
        {
            FieldA1 = a.FieldA1;
            FieldA2 = a.FieldA2;
            FieldB1 = b.FieldB1;
            FieldB2 = b.FieldB2;

        }
        public int FieldA1 { get; private set; }
        public int FieldA2 { get; private set; }
        public int FieldB1 { get; private set; }
        public int FieldB2 { get; private set; }
    }

    var result = from itemA in TableA 
                 join itemB in TableB on itemA.ID equals itemB.ID
                 select new ItemAB(itemA, itemB);

人気のある回答

リンククエリから、1対1の関係を持つ2つのテーブルがあるように見えます。

そうであれば、それを行う方法は、2つのテーブルが1つのエンティティにマージされるようにエンティティモデルを設定することです。詳細は以下を参照してください。

http://blogs.msdn.com/simonince/archive/2009/03/23/mapping-two-tables-to-one-entity-in-the-entity-framework.aspx



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ