2009-02-04 4 views
2

LINQ to SQL은 활성 레코드에 대한 루비처럼 즉시 사용할 수있는 다형성 연결을 제공합니까? 그렇지 않은 경우 해당 연결을 수동으로 매핑하는 해결 방법이 있습니까?LINQ to SQL의 다형성 연관

답변

2

동의. 나는이 작업을 수행 할 수있는 방법이나 디자이너 나 손으로 클래스/메소드 속성을 추가하는 방법을 찾지 못했습니다. 또한 다형성 연관을위한 외래 키 제약 조건을 가질 수 없습니다. 나는이 옵션을 버렸다. 고마워.

1

편집 해

SQL Server는 기본 키가 아닌 나에 대한 고유 제한 조건 (또는 인덱스)가없는 컬럼에 외래 키 관계를 가질 수 없습니다. 여러 테이블이 외래 키와 같은 하위 테이블의 동일한 열을 사용하도록하는 것에 대한 제한이없는 것처럼 보입니다. DBML 디자이너는 이러한 관계를 발견하고 테이블을 가져올 때 상위 테이블 모두에 대한 연결을 만듭니다. 그러나 디자이너 생성 코드는 하나의 연결에 대해서만 생성됩니다. 즉, 디자이너는 연결을 올바르게 표시하지만 그 중 하나를 제외한 모든 코드는 생략됩니다. 또한 확장 성 방법 및 속성 설정자는 디자이너가 생성 한 코드에서도 제대로 정의되지 않은 것 같습니다.

디자이너에서 직접 연관을 추가하는 경우에도 마찬가지입니다. 실제 연결 중 하나만 코드에 구현되고 다른 부모 클래스의 코드는 복구 할 수 없을 정도로 손상된 것으로 보입니다. 부분 클래스 구현을 사용하여 디자이너가 생성하는 것과 일치하는 필수 기능을 추가 할 수도 있지만이 방법을 시도하지는 않았습니다.

또한 LINQ2SQL은 기본적으로 다 - 대 - 다 관계를 지원하지 않습니다. 코드를 직접 작성하지 않고도 1-1 및 1로 제한됩니다.