【发布时间】:2014-03-29 13:39:41
【问题描述】:
好的,经过一番努力,我刚刚将我的项目从 Breeze 1.2 升级到 1.4,将 EF 5.0 升级到 6.1,并且它正在运行。但是,我注意到,一些查询不再起作用。在客户端,我收到这样的错误:
获取 .../breeze/breeze/Methods?$filter=Id%20eq%201&$expand=CompoundSettings%2FCompound%2FTargetPeaks 400(错误请求)
正如我所读到的,有些人报告说微风不支持多对多关系。但是,我的不是多对多。
在我的例子中,Methods 包含一个 CompoundSetting 的集合,它包含一个 Compound,它包含一个 TargetPeak 的集合。我也尝试删除虚拟关键字进行收藏,但似乎没有任何区别。
如果展开不包括最后一个 TargetPeaks,它可以工作。
有什么问题?嵌套层太多?请注意,相同的查询(甚至更多层)在 Breeze v1.2 中运行良好。
【问题讨论】:
-
我有相同的版本: Breeze:1.4 和 EF: 6.1 。你会发布带有扩展的客户端代码吗?
-
与此同时,我使用 include 将这些扩展移动到服务器,这没有任何问题。我的项目又开始工作了。我以前使用的客户端代码是这样的:
var query = breeze.EntityQuery.from('Methods').expand('CompoundSettings.Compound.TargetPeaks'); return manager.executeQuery(query).then(succeeded);