我有这样的事情:
public class Person {
string Name;
}
public class Customer : Person {
List<Order> orders;
}
public class MyReference {
Person aPerson;
}
public class Me {
MyReference myRef;
}
现在,在我的Metamodel中,我为Customer指定了一个baseType。我认为我的元模型是正确的。唯一的问题是,当我想执行如下查询时:
breeze.EntityQuery.from('Me').expand('myRef, myRef.aPerson, myRef.aPerson.orders')
我收到错误,&#34;订单&#34;不允许在EntityType&#34; Person&#34;。当然因为它是基类。我希望它是多态的,如果Person真的是Type&#34; Customer&#34;它应该扩展订单,如果没有,那么它可以是空的或者没有定义或者甚至不存在于对象上。
这有可能吗?我需要某种&#34; toType&#34;在查询中转换?
答案 0 :(得分:0)
基类Person
没有Orders
属性。因此,服务器上的.NET(EF)不会让您要求Person.Orders
。这并不是多态性在EF中如何运作的,而且Breeze无法改变它。
你需要一种我害怕的不同方法。
FWIW,这也不是Breeze中多态如何运作的。