2012-07-10 89 views
0

我的瑣碎EDMX的有繼承它的兩個實體沿基實體...自我跟蹤實體,缺乏實體的繼承

 <>-------- UserEntity 
EntityBase 
     <>-------- CustomEntity 

...這會自動創建在生成的ObjectContext 3種對象集性能。 ...

public ObjectSet<EntityBase> EntityBases {...} 
public ObjectSet<UserEntity> UserEntities {...} 
public ObjectSet<CustomEntity> CustomEntities {...} 

...這是偉大的。然後我可以在我的Linq To Entities中使用這三者中的任何一個。我實際上想要使用自我跟蹤實體,因此將代碼生成策略設置爲無。然後添加自我跟蹤T4模板。但新generaed的ObjectContext只具有以下...

public ObjectSet<CustomEntity> EntityBases {...} 

...但繼承UserEntities的實體和CustomEntities是無處可見!自我跟蹤實體T4是否可以按照類型處理表格?當然可以?是什麼賦予了?

回答

2

這是正確的行爲。您將僅爲基類型獲得ObjectSet,並且此集也用於訪問所有繼承類型。如果您想獲得UserEntity實例,您將使用.OfType<UserEntity>()擴展方法等。