2012-07-10 75 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>()扩展方法等。