0

我的微不足道的 EDMX 有一个基本实体以及两个从它继承的实体......

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

...这会自动在生成的 ObjectContext 上创建三个 ObjectSet 属性...

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

……太好了。然后我可以在我的 Linq To 实体中使用这三个中的任何一个。我实际上想使用自我跟踪实体,因此将代码生成策略设置为无。然后添加自跟踪 T4 模板。但是新生成的ObjectContext只有以下...

public ObjectSet<CustomEntity> EntityBases {...}

...但是 UserEntities 和 CustomEntities 的继承实体却无处可寻!自跟踪实体 T4 可以处理每种类型的表吗?一定可以吗?是什么赋予了?

4

1 回答 1

2

那是正确的行为。您将ObjectSet仅获得基本类型,并且该集合也用于访问所有继承的类型。如果您只想获取UserEntity实例,您将使用.OfType<UserEntity>()扩展方法等。

于 2012-07-10T08:52:27.157 回答