2011-12-30 2 views
0

테이블 당 테이블이 필요한 프로젝트를 시작하려고합니다. 나는 NHibernate로 과거에이 작업을 해왔지만 XML 매핑 파일을 수정하지 않아도되므로 Entity Framework와 Designer를 사용하려고합니다.discriminator (모델 우선) 테이블을 선택할 수 없습니다

나는 온라인이 예제를 다음 봤는데 : http://mosesofegypt.net/post/Inheritance-and-Associations-with-Entity-Framework-Part-1.aspx

드롭 다운 "테이블 또는보기 > 추가 <"으로부터 테이블을 선택하려고, 내가 어떤 테이블을 선택할 수 없습니다, 대신 목록을 보여줍니다 " (빈)".

failing hard

내가 튜토리얼에서했습니다 유일한 차이는 우리가 원하는 (지금까지의 내가 변화를 안이 말할 수있는, 샘플 데이터베이스 오프 Person 테이블을 생성하지 않은 것입니다 모델에서 DB를 생성하고, 그 반대는 아닙니다. 당신이 모델 DB를 생성해야 할 경우 매핑에서 모든 테이블을 볼 수 없습니다

답변

1

... 테이블이에 대한 판별을 추가 할 자격을 충족해야합니다 어떤 기준

확실하지 모두 매핑 정보에 대한 때문에 테이블은 데이터베이스를 생성 할 때 생성됩니다. EDMX는 꽤 복잡한 구조를 가지고 있습니다 (NHibernate를위한 매우 쉬운 hbm 파일보다 훨씬 더 복잡합니다). EDMX는 암시 적이기 때문에 모든 것이 기술되어야하며 3 번 기술해야합니다.

EDMX은 세 부분으로 구성 데이터베이스 설명 - - - 당신은 (클래스)

  • SSDL 디자이너에서 볼 수 개념 모델

    • CSDL이 모델 브라우저에서 찾아 볼 수 있지만 읽기 전용입니다
    • MSL - SSDL과 MSL 간의 매핑 (즉, 해당 창에서 편집하려는 것)입니다.

    model-first (디자이너에서 엔티티 그리기 및 데이터베이스 생성)를 사용할 경우 CSDL 만 정의하고 다른 모든 것은 데이터베이스의 SQL로 생성됩니다. DB 생성을 위해 다른 템플릿/워크 플로가 필요할 것입니다. 기본적으로 테이블 형식 상속을 사용하기 때문입니다. Database generation power pack을 확인하십시오. TPH 용 템플리트가 있어야합니다.

  • 관련 문제