我们刚刚将 Breezejs 升级到最新版本(1.4.5),以便我们可以将它与 EF 6 一起使用。我们还将项目更新为支持 OData 的 Web Api2。
在我们的代码中,我们通过对查询(来自我们的 datacontext.js)使用扩展来获取具有相关实体的实体:
BandContext.prototype.getBandWithDetails = function (bandId) {
var query = breeze.EntityQuery.from("Band").where(new breeze.Predicate("Id", "==", bandId)).expand("BandMembers.User.Image, BandImages.Image, Image, BandFollowers, ExternalLinks");
return this.executeQuery(query);
};
在breezecontroller.cs 中,我们的动作是这样的:
[HttpGet]
[Queryable(AllowedQueryOptions = AllowedQueryOptions.Supported | AllowedQueryOptions.Expand, MaxExpansionDepth = 4)]
public IQueryable<Band> Band()
{
return WebRepository.Bands;
}
这工作了很长时间,但现在已经停止工作。当我调用 WebApi 控制器并且实体和相关实体通过网络发送时,我仍然得到 200,但我收到以下错误消息:
relatedEntity.getProperty is not a function
我们完全不知道该做什么,任何帮助将不胜感激:)