2013-04-24 1 views
0

데이터베이스에 6 개의 100 % 동일한 테이블이 있습니다. 유일한 변경 사항은 이름입니다. 이 같은 모습 : 등등Entity Framework, C# 및 수퍼 클래스

Offers_1, Offers_2, Offers_3하고 ..

나는 내 C# 형태로 엔티티 프레임 워크를 사용하는 경우

나는 원인의 테이블에 의해 이름이 6 개 개의 클래스를 얻을. 이러한 테이블에 부모/수퍼 클래스를 사용할 수있는 방법이 있습니까? 어쩌면 그들은 어떤 숫자인지 또는 그와 비슷한 식별자를 가질 수 있습니다.

나는이 문제가 이미 있었음에 틀림 없다.

내가 왜 6 개의 동일한 테이블을 가지고 있는지 궁금해하는 사람들에게. 우리 회사에서 제공하는 제품을 전환하는 자체 방식을 만들었으므로 오프라인 테이블에서 작동하고 온라인 테이블에서 최대 성능을 얻을 수 있습니다.

는 희망 도움 마음은 빛을 향해 나를 안내 할 수 있습니다 :)

감사를 사전

+2

귀하의 궁금한 점은 무엇입니까? 적어도 문제를 해결하려고 시도하지 않은 경우 문제를 완전히 파악하지 못했음을 나타냅니다. 그 용어가 표준 C# 프로그래밍 용어가 아닌 "수퍼 클래스"가 의미하는 것이 명확하지 않습니다. –

+0

나는 이런 식으로 뭔가를 할 때 어떤 이점이 있을지 궁금합니다. –

+0

장점은 시스템의 클래스로 작업 할 수 있다는 것입니다. 새로운 Offer_1 및 Offer_2 등을 만드는 대신 ... 하나의 "Offer"를 만들 수 있으며 시스템 전체에 적용 할 수 있습니다. – Oxholm

답변

1

상속 (TPH) 당 테이블을 사용하려는 것처럼 보입니다 : 여러 유형에 대해 하나의 테이블.

모델명은 here입니다.

코드 설명은 예를 들어 here입니다.

+0

흠 이것은 흥미로운 것 같지만 데이터베이스에 영향을주지 않고 (따라서 새 테이블을 만들지 않고)이 작업을 수행 할 수 있습니까? 모든 테이블 클래스가 상속 된 클래스 일 수 있다면 완벽 할 것입니다 – Oxholm

+0

아니요, EF와 함께 TPH를 사용하려면 식별자 식별자 열이 있어야합니다. DB가 존재하지만 TPT (Table Per Type)를 사용해야합니다. 예를 들어 기본 클래스가 있습니다. 기본 클래스에 대한 유형을 파생시키고 코드를 사용하여 최소한 "HasTable"메소드를 사용하여 컨텍스트에서 파생 유형을 구성하십시오. – tschmit007

0

당신이 Linq에 테이블에 SQL을 사용하는 경우 .dbml 파일에서 행 이름을 편집 할 수 있습니다. 이렇게하면 C# 코드에서 사용하는 마녀에게 말할 수 있습니다.