두 테이블, 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,
//...
};
알 수 있듯이 결과 테이블에서 두 개체의 모든 속성을 선택하려고합니다. 결합하는 동안 고려되는 열거 형은 특정 형식의 개체를 포함합니다 -이 두 가지 관계에 대해 다릅니다.) 물론 예제에서와 같이 익명 select에서 속성을 선택할 수 있습니다.
내 질문에 수동으로 모든 속성을 지정하는 것을 피하는 방법은 무엇입니까? 나는 SELECT * FROM TABLE3
과 같은 것을 가지고 싶습니다. TABLE3
은 TABLE1
과 TABLE2
에 합류 한 후 결과 관계가되는 곳입니다.
미리 감사드립니다.
첫 번째 옵션은 할당 중에 ToString() 메서드를 사용하지 않습니까? 이 경우 myOutput.ToArray()를 수행 한 후 Object1이라는 열에서 인스턴스 "Namespace.MyType"값을 가져옵니다 ... – Jamie
아니요, ToString()을 호출하지 않을 것입니다. ? 당신은 그것을 어떤 종류의 UI 컨트롤에 바인딩하고 있습니까? * control *은'ToString()'을 호출 할 수도 있지만, 쿼리 자체는 본질적으로 전체 객체를 사용하고 속성에 매핑합니다. –
귀하의 의견은 나에게 아이디어를주었습니다. 두 객체에 대한 참조가 포함 된 새로운 클래스를 만들었습니다. 그렇다면 이들의 특정 속성에 바인딩하기 쉽습니다 :) – Jamie