尝试为我正在制作的系统实现一个非常简单的TPH设置,1个基础,2个继承类。
但是继承的类都属于同一个实体集,所以在我的ObjectContext中使用循环,我只能访问基本的抽象类。我不太确定我是如何获得具体类的元素的? (我也将它转换为使用POCO)。
然后在我的应用程序中使用实体:
using (SolEntities sec = new SolEntities()) {
Planets = sec.CelestialBodies;
}
在sec
上设置了CelestialBodies实体,但没有像我期望的那样设置行星/卫星。
不太确定要访问它们需要做什么。
由于
答案 0 :(得分:5)
您可以使用OfType
方法:
using (SolEntities sec = new SolEntities()) {
Planets = sec.CelestialBodies.OfType<Planet>();
}
答案 1 :(得分:3)
正如Thomas Levesque所描述的那样,OfType
扩展方法将允许您仅查询您真正想要访问的单个继承类型。如果您直接访问CelestialBodies
,您将获得所有实体。每个实体都属于Planet
或Satellite
类型,但您必须将它们转换为访问其属性。