2009-08-14 7 views
2

필자는 Linq2Sql DBML 파일에서 관련성이 높은 의견을 가지고 있습니다.수동으로 작성한 Linq2Sql 테이블 관계가 코드에 나타나는 이유는 무엇입니까?

내가는 "연결 추가"를 선택하여 수동으로 예를 들어, 부모에게 아이에서 연결을 생성, 클릭 바로했습니다

Customer.TypeId -> CustomerTypes.Id 

그러나 나는 내 코드에서이 작업을 수행 할 수 없습니다

from c in Customers select c.Type.Name 

실마리가 있습니까? 데이터베이스에 관계가 존재하지 않거나 할 수 없다면, 나는 이것을 할 수있을 것이다.

답변

2

이것은 기괴합니다. 나는 여기에 온 대답을 쓰는 것을 기억한다!

기본적으로 문제는 뷰를 테이블과 비교하여보고 DBML 파일에서 함께 연결하려고했기 때문에 분명히 기본 키가 없었기 때문입니다. Linq2Sql에 기본 키가있는 열을 알려 주면 행복하게 쓸 수있었습니다!

0

나는 똑같은 기능을 시도했지만 질의는 linq-to-SQL dbml 파일이 포함 된 솔루션을 다시 작성한 후에 만 ​​가능했습니다. 관계를 변경 한 후에 솔루션을 다시 빌드 했습니까?

이것은 비록 두 테이블을 사용하여 수행 된 날이보기를 연결하자 나는

이 편집 결과

로이 답변을 편집 할 수 있습니다 : 좋아 그 짜증하는 LinqToSql 쿼리 상에 assosiation 퍼팅에서만 뷰를 쿼리 이잖아 데이터베이스가 작동하지 않습니다. 그러나 linq 쿼리에서 조인을 지정할 수 있습니다. 슬프게도 그것은 DBML 파일과 코드에서 두 가지 작업을 지정하는 것과 같습니다.하지만 몇 가지 설명을 추가하면 사람들이 왜 그 작업을했는지 이해하게됩니다.

적어도 DBML 파일에서 "조인"을 다른 사람이 볼 수 있습니다.

관련 문제