2016-05-03 60 views
0

我有一個名爲'組織'的主模型 - 類型,它具有多個子類型。在實體框架中,我們通過Table per Type appraoch來保存它。 現在,一些子類型也有NavigationProperties的相關信息,我想要加載,這取決於類型。 問題:我無法定義一個具體的組織類型DbSet,因爲我不知道這個時候我必須這樣做。所以基本上,我需要告訴EF:如果你加載一個這種類型的組織,包括SubType1,如果它是另一個類型,SubType2等實體框架:根據子類型包含屬性

如果我這樣做tradionallty,EF呻吟,因爲類型「組織「不知道子類型的導航屬性。

是否有可能將EF多磷酸化與可能包含特定表的可能性結合起來?

回答

0

只是在你的DbContext添加此,你可以定義你的亞型的任何信息來源只是確保你使用至少EF 6.0

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
     { 

      //inhertance table per type 
      modelBuilder.Entity<Reponse>().ToTable("Organisation"); 
      modelBuilder.Entity<ReponseChoix>().ToTable("Subtype1"); 
      modelBuilder.Entity<ReponseSimple>().ToTable("Subtype2"); 


     }