Как правильно реализовать функцию deleteEntity для дочерней записи

У меня есть структура таблицы Parent Child.

Я пытаюсь удалить дочернюю запись. Вот моя упрощенная модель просмотра.

MyNameSpace.ParentViewModel = function () {
    var self = this;
    self.dataSource = upshot.dataSources.GetRecords.refresh();
    self.jobs = self.dataSource.getEntities();

    self.removeChild1 = function (child) {
        $.each(self.jobs(), function() {
            this.JobStep.remove(jobStep);
        });
    };

    self.removeChild2 = function (child) {
        self.dataSource.deleteEntity(child);
    };
};

MyNameSpace.Parent = function (data) {
    var self = this;

    self.Id = ko.observable(data.Id);
    self.SomeProperty = ko.observable(data.SomeProperty);

    upshot.addEntityProperties(self, "Parent:#MyNameSpace.Models");
};

MyNameSpace.Child = function (data) {
   var self = this;

    self.Id = ko.observable(data.Id);
    self.ParentId = ko.observable(data.ParentId);
    self.Parent = ko.observable(data.Parent ? new MyNameSpace.Parent(data.Parent) : null);
    self.SomeChildProperty = ko.observable(data.SomeChildProperty );
    upshot.addEntityProperties(self, "Child:#MyNameSpace.Models");
};

Когда я пытаюсь удалить дочернюю запись с помощью removeChild1, я получаю сообщение об ошибке:

Use 'deleteEntity' to delete entities from your array.  Destructive delete is not yet implemented.

Когда я пытаюсь удалить дочернюю запись, используя removeChild2, я получаю сообщение об ошибке:

'Entity not cached in data context. '

Очевидно, что в первой версии я ссылаюсь на коллекцию ObservableArray дочерней записи и удаляю ее оттуда. Правильный объект удален, но ошибка не-реализации убивает его.

Во второй версии я использую upshot и EF magic, и я не уверен, что происходит не так.

Есть идеи?

0 ответов

Другие вопросы по тегам