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



简单的父/子场景,如Order和OrderLineItems。我正在插入一个新的Order,OrderID是一个标识列(sql server)。我还在同一SaveChanges事务中插入OrderLineItems。我需要将新的OrderID放入OrderLineItems中,但不确定如何执行。我已经正确设置了适当的FK关系。保存时,我收到一个错误,即OrderID是OrderLineItems中的必填字段。

我必须把它分成两个服务器调用吗?首先插入Order,它将返回OrderID。然后用另一个来插入OrderLineItems?

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

基本思想是,只要您的模型和元数据设置正确,微风就可以在保存之前分配一个临时id来代替标识列,用于链接订单和订单行项目实体。作为保存过程的一部分,Breeze将这些临时密钥更新为其"真实"密钥值,并在成功完成保存后更新本地缓存。

最新更新