尝试为我正在制作的系统实现一个非常简单的TPH设置,1个基类,2个继承类。
但是,继承的类都属于同一个实体集,因此在我的ObjectContext using循环中,我只能访问基础抽象类。我不太确定如何获取具体类的元素?(我还将其转换为使用POCO)。

然后在我的应用程序中使用实体:
using (SolEntities sec = new SolEntities()) {
Planets = sec.CelestialBodies;
}在sec上设置了一个CelestialBodies实体,但没有像我预期的那样有行星/卫星。
不太确定需要做什么才能访问它们。
谢谢
发布于 2011-01-02 23:17:24
您可以使用OfType方法:
using (SolEntities sec = new SolEntities()) {
Planets = sec.CelestialBodies.OfType<Planet>();
}发布于 2011-01-02 23:54:14
正如Thomas Levesque所描述的,OfType扩展方法将允许您只查询您真正想要访问的单个继承类型。如果您直接访问CelestialBodies,您将获得所有实体。每个实体都将是Planet或Satellite类型,但您必须强制转换它们才能访问它们的属性。
https://stackoverflow.com/questions/4578598
复制相似问题