2009-07-09 5 views
1

데이터베이스에서 .dbml 파일을 만들고 있습니다. 내 "속성"테이블에는 "군"테이블과 "propertysource"테이블에 대한 외래 키가 있습니다.dbml 엔터티 관계 문제

코드가 생성되면 Property.Source는 PropertySource 유형으로 정의되지만 Property.County는 카운티 유형 대신 int로 정의됩니다.

여기에서 무슨 일이 일어나고 있는지, 왜 그 문제인지 또는 어떻게 해결해야 하는지를 이해하기 위해 LINQ to SQL에 대한 경험이 없습니다. 이 문제를 일으킬 수있는 스키마에 대해서는 분명히 알 수 없습니다. 카운티 객체가 Property 객체의 County 속성을 인식하도록 자동 생성 된 코드를 어떻게 얻을 수 있습니까?

답변

1

dbml 디자이너를 열 때 Property 클래스에서 두 개의 화살표가 표시된 다이어그램이 있는지 확인하십시오. 하나의 화살표는 County 클래스로 이동하고 다른 화살표는 PropertySource 클래스로 이동합니다. 또한 디자이너에서 이러한 세 가지 수업을해야합니다.

그런 식으로 개체 모델이 보이지 않으면 데이터베이스 스키마가 설정된 방식에 문제가있을 수 있습니다.

외래 키가 올바르게 설정되어 있는지 확인합니다.

+0

다이어그램이 올바르게 표시됩니다. 올바른 장소의 화살표. 세 엔티티는 모두 디자이너에 있습니다. 외래 키가 올바르게 설정되었습니다. –

+0

다이어그램을 찍어 질문에 포함시킬 수 있습니까? 나는 그것이 귀하의 재산과 관련이 있다는 느낌을 가지고 있으며 어떻게 설정 되었는가를 볼 수 없으면 확신 할 수 없습니다. – Joseph

2

DBML 파일에서 속성을 클릭하면 속성 창을 사용하여 유형을 수정할 수 있습니다. 속성 창에는 유형에 대한 필드가 있습니다. 드롭 다운에서 표준 유형 중 일부를 선택하거나 전체 이름을 사용하여 사용자 정의 유형을 입력 할 수 있습니다. "MyProject.Location.Country.CountryType"등

IntelliSense에서이 도구에 액세스하기 전에 프로젝트를 다시 빌드해야합니다. 희망이 도움이!