2012-04-20 5 views
0

전 라인 테이블과 태그 테이블이 있습니다. 각 행에는 태그 표의 여러 태그가있을 수 있습니다. 모든 태그를 사용하여 체크리스트를 만들고 태그가 있는지 확인하는 확인란이 있습니다.Entity Framework Projection 충돌 VS

필자는 DataGrid보기를 2 열로 설정합니다. 하나의 이름과 IsTagged

에 바인딩 다른 checkboxcell 결합

임 이것에 대한 투사 사용하려고 :

-> line comes into constructor 
var tagsList = from t in rs.Tags select new { Name = t.Name, IsTagged = line.Tags.Where(x => x.Name == t.Name).Any() }; 
dgvTags.DataSource = tagsList; 

내 엔티티 다이어그램은 다음과 같습니다 :

enter image description here

UPDATE :

나는 모든 것을 다시했고 2005 년부터 2008r2까지 백 dB를 업그레이드했는데 이제는 작동하는 것처럼 보이지만 다음과 같은 오류가 발생합니다 ... 충돌이 없지만 DataGrid에 항목이 표시되지 않습니다.

enter image description here

+0

이 있었입니까? – Eranga

+0

"Crashing VS"<- 무엇이 오류입니까? –

+0

죄송합니다. 오류가 표시되지 않고 앱 실행이 중지됩니다. 일단 앱이 응답을 멈췄다 고 말하면 (VS) – sprocket12

답변

0

나는 문제가 LINQ - 투 - 엔티티 쿼리에서 줄 매개 변수의 컬렉션을 사용으로 인해 생각합니다.

I는이 같은 기본 유형을 사용하여 쿼리를 다시 작성하려고 할 것 : 문제는

var tagNames = line.Tags.Select(x => x.Name).ToList(); 
var tagsList = from t in rs.Tags 
       join n in tagNames on t.Name equals n into tags 
       select new 
       { 
       Name = t.Name, 
       IsTagged = tags.Any() 
       };