2017-02-20 5 views
0

두 개의 테이블이 마스터와 세부 사항입니다. 나는 몇 가지 속성처럼 설정 : [DisplayName="Customer Name"]와 ..... 내가 선택한 목록 내 DataGridView를 소스 또는 보고 서비스 소스 나 ...를 채울 때, 나는 속성을 사용할 수 있으며 내 헤더 열을 설정 많은 유용한 다른 생각. 하지만 Flatt가 내 마스터 세부 사항을 작성하고 linq select를 쓰고 싶다면 :데이터 Annonation은 Linq에 가입했습니다. 선택

var x = from m in master 
    join d in detail on m.id equal d.masterId 
    select new {d.Id , d.Name , m.Date, m.Customer} 

나는 정의 된 속성에 액세스 할 수 없습니다. 어떻게해야합니까? 난 당신이 새로운 모달/클래스처럼에게 MasterDetails 그의 속성을 확인하고 적용하는 페이지에서 원하는 모든 속성을 개최한다을 만들 필요가 각이 들어

답변

0

을 선택에 대한 쓰기 ViewClass를 좋아하지 않는다 새로운 MasterDetails 클래스를 작성한 다음 새 linq를 작성하십시오.

var x = from m in master 
    join d in detail on m.id equal d.masterId 
    select new MasterDetails {Id=d.Id ,Name= d.Name ,Date= m.Date,Customer= m.Customer} 

희망이 있으면 도움이 될 것입니다.

+0

이 작업을 수행하려면 원하는 각보기에 대해 ** ViewClass **를 작성해야합니다. 그렇지 않으면 두 개 이상의 테이블에 내 데이터가 결합 된 경우 각각의 선택 항목이 선택됩니다. 속성이 왜 처분됩니까? –

+0

속성은 삭제되지 않고 클래스 객체와 만 연결되므로 'select new {d.Id, d.Name, m.Date, m.Customer}'유형은 무엇이라고 생각하십니까? 이것은 익명의 유형입니다. – Viplock

+1

그렇습니다. 일부 하이브리드 데이터 유형을 View에 사용하고 Attribute를 사용하려면 새 클래스 (ViewClass)를 만들어야합니다. – Viplock