2009-05-20 3 views
0

은 내가 LINQPad의 인텔리가LINQPad를 사용하여 관계 전체를 선택하는 방법은 무엇입니까?

에서 "링크"개체를 제공하지 않습니다 그러나 LINQ

var q = from i in Images where i.Link.link_component_code = "x" select i; 

를 사용하여 간단한 쿼리를 수행하려고

Images(image_id, image_library_id,...) 

Links(link_id, image_id, link_component_code...) 

간단한 테이블 구조를 가지고

where i.Link.link_component_code 

대신 EntitySet 인 "Links"개체 만 가져오고 Add, Select, Where 같은 메서드를 테이블 필드에 나열하지 않습니다. 나는 그것을 다른 방법으로 할 경우

이것이 EntitySet이 어디서 잘못 가고

을 예상대로 등

그러나 주위

var q = from l in Links where l.Image.image_library_id = 1234 select l; 

그것은 작동?

답변

1

관계가 설정된 방식으로 각 이미지는 0 개 이상의 링크 (많은 링크)로 표시됩니다. Image의 Links 속성은 관련 링크 레코드의 쿼리 가능한 컬렉션입니다. 절

where i.Links.Any(link => link.link_component_code == "x") 
0

이미지 당 두 개 이상의 링크가있는 곳에

이 시도? 그렇지 않은 경우 Links 테이블의 image_id 필드를 고유하게 제한하십시오. 그러면 예상 한 결과를 얻어야합니다.

관련 문제