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 with Knockout, всички свойства на вашия обект са наблюдаеми. Следователно трябва да ги зададете, вместо да презаписвате стойността им.

episodeDxM00RelEntity.SortOrder(index2);

KO.observables разбира се има два основни метода - get() и set(value).

person PW Kad    schedule 13.01.2014