Jaydata webapi离线同步

时间:2014-10-24 16:06:37

标签: jquery html5 cordova asp.net-web-api jaydata

我正在使用Web API分析Jaydata并使用在线离线同步进行手机应用

控制器

  public TodoItem[] Get()
        {
                    return _db.TodoItems.ToArray();
        }

Jaydata背景

    (function (global, $data, undefined) {


        $data.Entity.extend('TodoItem', {
            'Id': { type: Number },
            'Task': { type: String },
            'Completed': { type: Boolean },
        });
        $data.EntityContext.extend('db', {
                TodoItems: { type: $data.EntitySet, elementType: TodoItem }

        });

})(window, $data);

在Jaydata中创建本地数据库

var localDB = new db({ name: 'local', databaseName: 'db' });

致电api控制器

$(function () {
    $.getJSON("/api/values/", function (data) {
        syncSet(data, localDB.TodoItems);
    });

});

当我将项目添加到本地商店时,此jquery可以正常工作,现在我想检查并更新任何更改的内容,或者如果任何新项目形成服务器则添加新项目

如何为同步

编写通用jquery函数
function syncSet(fromSet, toSet) {
    $.each(fromSet, function (key, value) {
        localDB.TodoItems.add(value);
    });
    localDB.saveChanges();
}