我正在使用Azure移动服务开发我的第一个Windows Phone应用程序,我使用下面的代码将记录插入到azure中
await App.MobileService.GetTable<TodoItem>().InsertAsync(todo);
检查这是todo项目的最佳方法是什么,插入数据,否则更新服务器端的现有记录?
答案 0 :(得分:5)
您可以使用服务器端表脚本在完成插入之前检查记录是否存在。下面是一个示例脚本,用于检查表中的任何项是否具有匹配的“text”值,如果是,则不执行插入操作。
function insert(item, user, request) {
var table = tables.getTable('todoItem');
table.where({
text: item.text
}).read({
success: upsertItem
});
function upsertItem(existingItems) {
if (existingItems.length === 0) {
request.execute();
} else {
item.id = existingItems[0].id;
table.update(item, {
success: function(updatedItem) {
request.respond(200, updatedItem)
}
});
}
}
}