Breeze Entity не сохраняется после изменения с помощью метода fetchEntity

 $.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);
    };

Я пытаюсь изменить свойство SortOrder объекта внутри метода fetchEntity и вызвать после него метод сохранения. Когда я проверяю базу данных, изменения там не сохраняются. Я не вижу никаких ошибок в консоли.


person user2585299    schedule 13.01.2014    source источник
comment
Используете ли вы Knockout, Angular или какую-либо другую библиотеку для привязки данных?   -  person PW Kad    schedule 13.01.2014
comment
Не могли бы вы поделиться кодом функций fetchEntity и vm.save()?   -  person Pablo Romeo    schedule 13.01.2014


Ответы (1)


Когда вы используете Breeze с Knockout, все свойства вашей сущности являются наблюдаемыми. Следовательно, вам нужно установить их, а не перезаписывать их значение.

episodeDxM00RelEntity.SortOrder(index2);

У KO.observables, конечно же, есть два основных метода — get() и set(value).

person PW Kad    schedule 13.01.2014