我们目前正在尝试让微风和打字稿一起工作......我们正在使用角度,因此计划使用微风的“backingStore”模型库......我们不打算使用ko或骨干......
// configure to use the model library for Angular
breeze.config.initializeAdapterInstance("modelLibrary", "backingStore", true);
我们在设计时定义所有打字稿实体属性,包括关键属性......当实体具有设计时关键属性和导航数组属性时,“backingStore”实现似乎失败。具体来说,微风.debug.js 的第 4470 行出现了问题:
npValue.forEach(function(iv) {
iv.setProperty(fkName, newValue);
如果我理解正确,“npValue”应该是一个包含子实体的数组......如果这个值为空,上面的代码失败......这个代码似乎在微风加载实体客户端时运行,因为调用服务器......只有在实体构造函数内的代码中明确定义父级的“键”属性时才会发生这种情况。对“movePropsToBackingStore”的调用似乎是删除属性,然后将它们添加回来......当对关键属性完成此操作时,就会出现这个问题......
无论如何,这是一个错误还是微风不支持关键属性的显式定义?还是有其他问题?要重现此问题,您只需调整 NoDb 示例,如下所示:
// configure to use the model library for Angular
breeze.config.initializeAdapterInstance("modelLibrary", "backingStore", true);
var TodoList = function () {
this.title = "My todos";
this.todoListId = null; //explicitly define key prop
};
谢谢你