update entity after attachOrGet()

by JayData

HTML

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://include.jaydata.org/jaydata.js"></script>

JavaScript

$data.Entity.extend("Todo", {
    Id: {  type: "int", key: true,  computed: true },
    Task: {  type: String, required: true, maxLength: 200},
});

$data.EntityContext.extend("TodoDatabase", {
    Todos: { type: $data.EntitySet, elementType: Todo }
});

var todoDB = new TodoDatabase({
    provider: 'webSql',
    databaseName: 'MyTodoDatabase2'
});

todoDB.onReady(function () {
    var newItem = new todoDB.Todos.elementType({Task: 'Old task'});
    todoDB.Todos.add(newItem);
    todoDB.saveChanges(function(){
        var id = newItem.Id;
        
        var itemToUpdate = todoDB.Todos.attachOrGet({Id: id});
        // or itemToUpdate = todoDB.Todos.attachOrGet(newItem);
        
        itemToUpdate.Task = 'new task';
        todoDB.saveChanges(function(){
            console.log('update finished');
        });
    })
});