breeze self.manager.getChanges() returns 0



我正在尝试在微风中修改实体并调用saveChanges()。但是我的微风管理器中的实体保存为 0。我不确定我做错了什么。

以下是我通过控制器检索数据的方法:

   [HttpGet]
    [CustomAuthorize(Claims = "permission:CanViewLocationAttributes")]
    public Location GetLocationById(int clientId, int locationId)
    {
           //returns a single location object
    }

然后我显示位置对象的属性,修改它并尝试更改如下:

        function saveLocationSettings(clientId) {
        var self = this;
        var saveOptions = this.manager.saveOptions.using({ resourceName: "SaveLocationSettings",  allowConcurrentSaves: true });
        var entitiesToSave = self.manager.getChanges();
        return self.manager.saveChanges(entitiesToSave, saveOptions).then(saveSucceeded, saveFailed);
    }

在这里,当我检查实体ToSave时,它是0。不包括更改的实体。

知道这里出了什么问题吗?

您确定要更改的实体与您保存的实体位于同一实体管理器中吗?还要记住,如果您将实体的属性"设置"为其当前值,则 breeze 将忽略该更改。

确认这两者的一种简单方法是在更改实体后检查实体的"entityAspect.entityState"(它应该是"修改"),然后检查"entityAspect.entityManager"以查看它是否与您计划保存的实体管理器相同。

相关内容

  • 没有找到相关文章

最新更新