【问题标题】:Polymorphic Expand Breeze Navigation Properties多态扩展微风导航属性
【发布时间】:2014-08-30 09:51:06
【问题描述】:

我有这样的事情:

public class Person {
    string Name;
}

public class Customer : Person {
    List<Order> orders;
}   

public class MyReference {
    Person aPerson;
}

public class Me {
    MyReference myRef;
}       

现在在我的元模型中,我为客户指定了一个 baseType。而且我认为我的元模型是正确的。唯一的问题是,当我想执行如下查询时:

breeze.EntityQuery.from('Me').expand('myRef, myRef.aPerson, myRef.aPerson.orders')

我收到一个错误,EntityType“Person”上不允许“orders”。当然,因为它是基类。我希望它是多态的,如果 Person 真的是“客户”类型,它应该扩展订单,如果不是,那么它可以为空或未定义,甚至不存在于对象上。

这有可能吗?我需要某种“toType”来在查询中进行转换吗?

【问题讨论】:

    标签: breeze


    【解决方案1】:

    基类Person 没有Orders 属性。因此,服务器上的 .NET (EF) 不会让您请求Person.Orders。这不是多态性在 EF 中的工作方式,Breeze 无法改变这一点。

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

    FWIW,Breeze 中的多态性也不是这样工作的。

    【讨论】:

    • 感谢您的回答。我猜我想的是一种更“导航”的方式。
    猜你喜欢
    • 1970-01-01
    • 2014-01-19
    • 2013-04-17
    • 1970-01-01
    • 1970-01-01
    • 2012-12-06
    • 1970-01-01
    • 1970-01-01
    • 2016-11-13
    相关资源
    最近更新 更多