2012-03-21 3 views
0

example simplified class structureADO .NET 엔티티 프레임 워크 상속 모델링

안녕 모두

난 당신이 위의 그림 클래스에서 볼 수 있듯이 기본적으로, 엔티티 프레임 워크와 havinga 문제이다는 는 두 개의 클래스가 추상 클래스입니다 그것으로부터 상속 & B C.

각 클래스에는 ID가 필요하지 않지만 데이터베이스 디자인의 관계형 구조에 속합니다.

내가 VS 2008 상속에 내 데이터베이스의 모델 다음 모델 EF에게 도구를 사용하여 생성하는 것을 시도하고있다. 모델이 올바르게 생성되지만 외래 키가 여전히 모델 다이어그램에 있습니다. 나는 그것들을 삭제하고 그것들을 올바른 상속으로 대체합니다. 또한 Entity Set Names를 동일하게 설정합니다.

이것은 내 문제가 시작되는 곳입니다.

클래스가 제대로 작동하지 않는 것 같습니다. 연결이 작동하지 않습니다.

FK이 제거 되었습니까? 아니면 적절한 위치에두고 상속을 사용해야합니까?

은 내 비즈니스 계층 을 상속 클래스 BC이 필요합니다.

모델은 올바른을하지 않는 것 나는이 모델 일을 만드는 어떤 도움 gtreatful 될 것이다.

+0

테이블 또는 유형별 상속은 무엇입니까? 데이터베이스 첫 번째 시나리오입니까? –

+1

"id"필드는 테이블의 기본 키이거나 ** A **의 PK이고 ** B ** & ** C **의 FK입니까? – CodingGorilla

+0

@DenisAgarev 내가 A, B & C에 대한 테이블을 가지고있는 것처럼 테이블 당 유형을 믿는다. – Deviland

답변

1

나는 당신이 당신의 테이블과 관련된 별도의 PK와 FK를 가지고 있다고 생각한다. EF는 하위 테이블에 PK와 FK 인 단일 "id"열이 있다고 가정합니다. 여기

내가 한 데이터베이스의 예의 스냅 샷입니다 (이 EF에 의해 생성 된,하지만 당신은 내가 무슨 말 참조)

Example

당신은 여기에서 볼 수 있습니다 그 Jobs은 기본이고 다른 두 값은 Jobs에서 파생됩니다. 당신은 JobsId 필드는 PK는 것을 볼 수 있습니다 다음, 다른 두 테이블의 Id 필드가 모두 PK뿐만 아니라 다시 Jobs에 FK.

내가 말했듯이이 모델은 EF (Model first)에 의해 생성되었지만 EF가 상황을보고 싶어하는 방식이므로 EF의 상속 구조에 맞지 않을 것이라고 확신합니다.

2

당신은의 PK에 (별도) FK가 없어야합니다.

상속에서는 B.Id가 PK이고 A.F.가 A.Id입니다.

관련 문제