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 ??????

모든 TableATableB 지정하지 않고 itemAitemB 모든 것을 선택하려면 노력하고 itemB .

아무것도 생각 ???

수락 된 답변

이게 니가 필요한거야?

    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);

인기 답변

링크 쿼리에서 일대일 관계가있는 2 개의 테이블이있는 것처럼 보입니다.

그렇다면 두 개의 테이블이 하나의 엔티티로 병합되도록 엔티티 모델을 구성하는 방법이 있습니다. 자세한 내용은 다음을 참조하십시오.

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



Related

아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow