我正在尝试使用 Breeze 查询 ASP.Net Web API 端点,但查询失败 - 数据对象包含:
internalError: TypeError
arguments: Array[2]
0: "createCtor"
1: null
length: 2
__proto__: Array[0]
get message: function () { [native code] }
get stack: function () { [native code] }
set message: function () { [native code] }
set stack: function () { [native code] }
type: "non_object_property_load"
数据对象有一个消息(和响应文本)属性,其中包含来自查询的完整 json 响应,看起来不错,并且生成的元数据与响应匹配 - 它还记录响应的状态 200
所以我猜有某种问题将响应映射到客户端的对象?
我正在使用 Breeze 版本 0.85.2 的 NuGet 包
我可以让示例 ToDo 项目在同一环境中正常运行
我的项目确实使用了来自不同程序集和命名空间的域对象、上下文等,但我知道这个版本支持吗?
此外,其中一个属性是枚举 - 在元数据中定义为{\"name\":\"State\",\"type\":\"Edm.Self.State\",\"nullable\":\"false\"}]
但在响应中作为整数出现
寻找有关如何在客户端进一步调试的提示
更新
将工作示例与我的代码进行比较,错误似乎来自此函数:
/**
Returns the constructor for this EntityType.
@method getEntityCtor
@return {Function} The constructor for this EntityType.
**/
ctor.prototype.getEntityCtor = function () {
if (this._ctor) return this._ctor;
var typeRegistry = this.metadataStore._typeRegistry;
var aCtor = typeRegistry[this.name] || typeRegistry[this.shortName];
if (!aCtor) {
var createCtor = v_modelLibraryDef.defaultInstance.createCtor;
if (createCtor) {
aCtor = createCtor(this);
} else {
aCtor = function() {
};
}
}
this._setCtor(aCtor);
return aCtor;
};
v_modelLibraryDef 上的 defaultInstance 属性在我的运行代码中未定义 - 我在微风的配置中遗漏了什么?
更新 2 - 已解决,但为什么
好的,所以我得到了这个工作 - 我错过了对淘汰赛的参考(我打算使用但没有那么远) - 我有点被没有提到淘汰赛的微风先决条件误导了所以如果有人可以解释我如何在没有淘汰赛的情况下完成这项工作,如果它是一个错误,那么要点是你的