0

我可以轻松地查询 Azure 移动服务休息端点,但我无法弄清楚如何执行更新/插入。

除了保存部分之外,做这样的事情效果很好。

var datas = new breeze.DataService({
    hasServerMetadata: false,
    serviceName: serviceName   // my endpoint
});

var manager = new breeze.EntityManager({ dataService: datas });
// manager.enableSaveQueuing(true);

var qu = breeze.EntityQuery.from("notification").where("id", "==", 1);

manager.executeQuery(qu).then(function (data) {
    data.results[0].isRead = false;
    console.log(manager.hasChanges());
    manager.saveChanges();
});

我们如何使用带有 azure 移动服务的微风js 来插入或更新记录。

4

1 回答 1

0

我可以看到您没有从服务(您设置hasServerMetadata: false)获取元数据,并且您没有在客户端上定义任何元数据。因此,您有一个空的 BreezeJS 实体模型,这意味着每个查询都返回原始 JavaScript 对象而不是 Breeze 实体

这些原始对象不在缓存中,它们不跟踪更改,它们没有任何属性更改通知或绑定支持。它们只是数据。

manager.hasChanges()将永远是错误的,manager.saveChanges()不会做任何事情......因为你从来没有任何实体。

我还没有用 AMS(又名“ZUMO”)尝试过 Breeze,对此我知之甚少。我确信它可以与 Breeze 一起使用。但是有人必须花一些时间来发现如何从服务器获取元数据,如何插入/更新/删除,以及 ZUMO 数据如何通过网络传输。

我的理解是 ZUMO 对象是直接映射到 SQL Azure 表的平面对象。它们与其他实体/表没有关联,您必须手动管理外键和相关实体加载。它还没有为业务应用程序典型的丰富对象模型做好准备。

目前,我建议您坚持使用 ZUMO 自己的客户端组件来访问数据。

我们会在适当的时候有一个微风的故事。

于 2013-06-04T00:48:48.170 回答