breeze.js插入带有标识的父/子

时间:2013-11-30 23:09:01

标签: insert breeze identity

简单的父/子场景,如Order和OrderLineItems。我正在插入一个新的Order,OrderID是一个标识列(sql server)。我也在同一个SaveChanges事务中插入OrderLineItems。我需要将新的OrderID放入OrderLineItems,但不知道该怎么做。我已正确设置适当的FK关系。当我保存时,我收到一个错误,订单ID是OrderLineItems中的必填字段。

我是否必须将其拆分为2个服务器调用?首先插入Order,它将返回OrderID。然后另一个插入OrderLineItems?

1 个答案:

答案 0 :(得分:2)

Breeze文档在几个方面讨论了这个主题(密钥生成),包括但不限于:http://www.breezejs.com/documentation/save-changeshttp://www.breezejs.com/documentation/extending-entitieshttp://www.breezejs.com/documentation/add-new-entity

基本的想法是,提供您的模型和元数据设置正确,breeze可以分配一个临时ID代替标识列,用于在保存之前链接您的订单和orderlineitem实体。作为保存过程的一部分,Breeze将这些临时密钥更新为其“真实”密钥值,并在成功完成保存后更新本地缓存。