多态扩展微风导航属性

时间:2014-08-29 09:00:39

标签: breeze

我有这样的事情:

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;在查询中转换?

1 个答案:

答案 0 :(得分:0)

基类Person没有Orders属性。因此,服务器上的.NET(EF)不会让您要求Person.Orders。这并不是多态性在EF中如何运作的,而且Breeze无法改变它。

你需要一种我害怕的不同方法。

FWIW,这也不是Breeze中多态如何运作的。