2014-03-30 3 views
0

나는이 세 가지 클래스, TPH를 사용하여 (hiracy 당 테이블) :EF 내 테이블을 생성하지 않습니다

abstract class Cat { int Id; string Name; } 
class ItemCat: Cat { } 
class PhotoCat: Cat{ } 

class Db:DbContext 
    { 
    Db() 
     { 
     Database.SetInitializer(new MigrateDatabaseToLatestVersion<Db,Migrations.Configuration>()); 
     } 
     DbSet<ItemCat> ItemCats; 
     DbSet<PhotoCat> PhotoCats; 
    } 

또한 ItemCats

종자 씨() 메소드가

update-database가 well 및 seed 테이블을 실행합니다.

하지만 EF가 내 ItemCat을 만들지 않습니다! 고양이를 만들어주세요! & 시드. DbContext에 고양이가 없습니다.

또한 ItemCat 클래스에 [Table ("ItemCats")]를 추가하면 ItemCats 테이블이 나타나지만 그 안에 ID 열이 있습니다 !!

저는 ItemCat & PhotoCat 클래스가 비어 있습니다. &은 Cat 클래스에서 상속받은 것입니다. 그것은 나에게 이상합니다.

+0

FieldCat 또는 PhotoCat 클래스에 필드를 추가하면 별도의 테이블이 생성된다는 이론을 테스트 해 보셨습니까? –

+0

예. 작동하지 않습니다. recercive 메서드의 실행 순서를 볼 수있는 IDE 창이 있습니까? – Mohammadreza

+0

재귀 적입니까? 또한 구성을 게시 할 수 있습니까? –

답변

0

구성을 으로 변경하십시오. 테이블은 예상되는 테이블을 제공해야합니다. 유형별 테이블 유형이 테이블을 생성하는 방법에 대한 자세한 내용은 here입니다.

관련 문제