假设对象模型如下:
abstract BaseObject
{
Id { get;set; }
}
ObjectTypeA : BaseObject
{
SomeProperty { get;set; }
}
ObjectTypeB : BaseObject
{
AnotherProperty { get;set; }
}
如果我对 an 进行查询,IQueryable<BaseObject>
我将在我的集合中获得这两种继承类型的实例,但我无法访问 SomeProperty 或 AnotherProperty,尽管 entityAspect 数据确实具有两种子类型的正确类型信息。
在某些方面确实有意义,因为查询要求返回特定类型的对象,这就是我得到的。但是在客户端,我将能够转换对象并访问属性。
是否有一种解决方法可以允许在微风中出现类似的行为?
我看到的另一种选择是必须为每种继承的类型轻而易举地进行两次查询,然后以某种方式组合结果并使用它......