2012-11-08 2 views
0
내가하면 .dbml 내 테이블 "tblFile"를 추가했지만 그것의 유형 "

생산 IEnumerable을

EntitySet tblFiles하지만 같은 협회와 다른 테이블에 대해 그 유형이"입니다 tblDocTranstoCon는 "

그래서에 문제가

z = document.tblTransmittalls.Select(dp => dp.tblDocTranstoCons), 
w = document.tblTransmittalls.Select(dx => dx.tblFiles) 

내가 IEnumerable을 생산하는이 문제를 해결할 수있는 방법 LINQ 쿼리 아래의 "w"는 IEnumerable을 아니라 "Z"는 "IEnumerable을"입니다.

[Association(Name="tblTransmittall_tblFile", Storage="_tblFiles", ThisKey="DocID,TransId", OtherKey="DocId,TransId")] 
public EntitySet<tblFile> tblFiles 
{ 
    get 
    { 
     return this._tblFiles; 
    } 
    set 
    { 
     this._tblFiles.Assign(value); 
    } 
} 

[Association(Name="tblTransmittall_tblDocTranstoCon", Storage="_tblDocTranstoCons", ThisKey="DocID,TransId", OtherKey="Docid,Transid", IsUnique=true, IsForeignKey=false)] 
public tblDocTranstoCon tblDocTranstoCons 
{ 
    get 
    { 
     return this._tblDocTranstoCons.Entity; 
    } 

답변

0

tblFiles는 반환 형식 EntitySet<tblFile>을 (컬렉션 인) tblDocTranstoCons 반면 형에게 tblDocTranstoCon

를 돌려 가지고 또는 DBML 디자이너의 연결을 변경해야이이

w = document.tblTransmittalls.SelectMany(dx => dx.tblFiles); 

때문에 유 시도해야합니다.

+0

감사합니다. 덕분에 작동합니다. – masoud

0

이 (EntitySet<T>IEnumerable<T>를 구현하므로) 목록의 각 항목에서 "자식 목록"을 유도 할 수있는 기능을 소요하고 모든 아이가 하나의리스트에 함께 나열 연결합니다 SelectMany에 대한 작업처럼 보인다. 시도해보십시오 :

w = document.tblTransmittalls.SelectMany(dx => dx.tblFiles) 
+0

감사합니다. – masoud