당신은 부분적으로 정확합니다 ...하지만 당신의 믹싱 것.
기본 키 필드를 null로 설정할 수 없습니다. 그 부분은 정확합니다. 그러나 1 -> 0 또는 하나의 관계를 보유하는 오브젝트의 외부 키 필드는 널이 될 수 있습니다.
LINQ to SQL에서 한 -> 0 또는 하나의 관계는 다른 LINQ to SQL 클래스를 참조하지만 null을 허용하는 필드 일뿐입니다.
예 테이블
create table Child (
id int identity(1,1),
name varchar(max),
primary key (id))
create table Parent (
id int identity(1,1),
childId int,
name varchar(max),
primary key (id),
foreign key (childId) references Child(id))
해당 테이블을 사용하여 얻을해야 하나 -> 제로 또는 아동 부모로부터 하나 하나 -> 많은 아이에서 다시 상위에 (한 아이는 많은 수 있습니다 부모님).
CREATE TABLE parent (id INTEGER NOT NULL PRIMARY KEY);
CREATE TABLE child (id INTEGER NOT NULL PRIMARY KEY REFERENCES parent (id));
당신은 두 테이블 사이의 공통 기본 키를 만들 : 당신은 Z 카디널리티을 원하는 경우
"LINQ to SQL에서 한 -> 0 또는 하나의 관계는 다른 LINQ to SQL 클래스를 참조하지만 null을 허용하는 필드 일뿐입니다." 데이터베이스에서 모델을 어떻게 모델링합니까? null을 허용하는 열을 만든 다음 FK로 사용하면 일대 다 관계가 생깁니다. 열에 고유 한 제한 조건을 적용하더라도 마찬가지입니다. –