$.each(vm.ListBox2(), function (index2, value2) {
if (vm.ListBox2()[index2].IsNewDxCode == false)
{
return datacontext.fetchEntity("EpisodeDxM00Rel", vm.ListBox2()[index2].Id).then(function (result) {
var episodeDxM00RelEntity = result.entity;
episodeDxM00RelEntity.SortOrder = index2;
vm.save();
});
}
});
dc.fetchEntity = function (entityName, key) {
return manager.fetchEntityByKey(entityName, key);
};
dc.saveChanges = function () {
return manager.saveChanges()
.fail(dc.saveFailed);
};
我正在尝试修改 fetchEntity 方法中实体的 SortOrder 属性,并在它之后调用 save 方法。当我检查数据库时,更改不会保留在那里。我在控制台中没有看到任何错误。
当您将 Breeze 与 Knockout 一起使用时,实体的所有属性都是可观察的。 因此,您需要设置它们而不是覆盖它们的值。
episodeDxM00RelEntity.SortOrder(index2);
当然,KO.observables 有两个主要方法 - get() 和 set(value)。