gpt4 book ai didi

javascript - BreezeJS - 如何从其父项中删除导航属性?

转载 作者:行者123 更新时间:2023-11-30 05:46:14 24 4
gpt4 key购买 nike

假设我们有一个“父”实体“客户”和一个子实体“订单”,并且我们在子实体的上下文中,我如何在不删除订单的情况下从客户“分离”订单?基本上我会在 SQL 中做的是:

update Order set CustomerId = NULL;

我的删除命令函数看起来像这样:

function remove(order) {
// I've tried the following -
// order.CustomerId(null);
// order.Customer(null);
// order.Customer.remove(order);
}

最佳答案

有多种方法,具体取决于您使用的是标量导航属性还是非标量导航属性。通常,您可以从任何一方“切断”关系。

来自“ child ”或依赖方(如果是 1-1 关系,则来自 parent )。

1) 将标量导航属性直接设置为空(如果可为空)

 child.parent = null;

2) 设置外键为空

 child.parentID = null;  

3) 从“ parent ”或主体方面(如果是非标量),如果您正在处理非标量导航属性,即类似 parent.children 的东西,那么您可以通过“拼接”从“ child ”数组中删除 child '.

 var ix = parent.children.indexOf(child);
parent.children.splice(ix, 1);

在每一种情况下,Breeze 都知道变化并在关系的另一端执行反向操作。

我希望这是有道理的。

关于javascript - BreezeJS - 如何从其父项中删除导航属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17837365/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com