如何在Breeze实体查询的相关属性上应用OData函数?
例如,我有两个实体EntityA和EntityB
public class EnityA{
public ICollection<EntityB> Collection {get; set;}
}
public class EnityB{
public DateTime DateColumn {get; set;}
public EnityA One {get; set;}
}
我能够在使用OData函数的EntityB上创建一个微风查询。例如
var pred1 = Predicate.create('year(DateColumn)', '==', 2018)
var queryOnEntityB = EntityQuery.from('EntityB').where(pred1)
上面的查询效果很好。 但是,下面的查询无效。
var pred1 = Predicate.create('year(DateColumn)', '==', 2018)
var pred2 = Predicate.create('Collection ', 'any', pred1)
var queryOnEntityA = EntityQuery.from('EntityA').where(pred2);
我收到错误
Cannot find a property named "DateColumn" on type "EntityA"
奇怪的是,它试图在错误的实体上找到列。但是,以下查询有效:
var pred1 = Predicate.create('DateColumn', '==', '2018-02-02')
var pred2 = Predicate.create('Collection ', 'any', pred1)
var queryOnEntityA = EntityQuery.from('EntityA').where(pred2);
因此,只有在尝试在导航属性中包含OData函数时才会出现错误。 我做错了什么,如何纠正?