sql-server - Azure移动服务: Insert to multiple tables

标签 sql-server arrays azure middleware azure-mobile-services

我正在我的应用程序(html 5 sdk)中构建一个食品订购系统。创建项目时,一个项目可以有多种配料(额外的奶酪、额外的鸡肉等)。

这就是我想做的

  1. 将项目插入Items表(我可以简单地做到这一点)
  2. 获取从应用程序发送的配料数组并将其插入配料表中(不确定如何发送配料数组。每个配料都有名称和价格)我可以将它们添加为项目属性插入服务请求并发送?

问题

我可以毫无问题地插入一个项目,但我不知道如何获取配料数组列表并将其插入配料表中。

我可以将对象数组作为 Azure 移动服务服务请求中的属性发送吗?

感谢您提前抽出时间。

最佳答案

解决这个问题的一种方法是在 Items 表上使用自定义插入脚本,以便它解析数组并将数组的每个项目插入到 Toppings 表中(包括项目 ID,如果需要的话)。例如:

function insert(item, user, request) {
    var toppings = item.Toppings;
    item.Toppings = null;
    request.execute({ success: function() {
        var toppingsTable = tables.getTable('Toppings');
        var count = 0;
        toppings.forEach(function(topping, index) {
            topping.itemId = item.id;
            toppingsTable.insert(topping, {
                success: function() {
                    count++;
                    if (toppings.length === count) {
                        request.respond();
                    }
                },
                error: function(err) {
                    console.warn('Error while inserting toppings objects', err);
                    count++;
                    if (toppings.length === count) {
                        request.respond();
                    }
            });
        }});
    }

关于sql-server - Azure移动服务: Insert to multiple tables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20367057/

相关文章:

sql-server - ntext 列中的数据长度?

javascript - 在索引数组中提取 int 值?

azure - 使用 API 管理或 LB 公开中继混合连接

.net - dotnet Restore 在本地引用的项目上引发错误

sql - 无法使用表输出参数创建存储过程

sql-server - 使用存储过程从 View 中检索或筛选数据是否比使用存储过程从表中获取或筛选数据更快?

sql-server - 集成服务目录文件夹权限已更改

python - 如何在 2D numpy 数组中查找簇大小?

c - 二维数组 - 排序 |读取位置错误|访问冲突在C中

linux - 可用性集不在下拉列表中