Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Breezejs将记录添加到关联表中_Breeze - Fatal编程技术网

使用Breezejs将记录添加到关联表中

使用Breezejs将记录添加到关联表中,breeze,Breeze,背景信息 因此,我在后端将Breezejs和Knockout与EF5和Breeze MVC api控制器一起使用。我的数据库中的一个表是一个关联表,有3列—一个id和两个外键(我们将它们称为fkey1和fkey2以及表1和表2)。在我的应用程序中,我需要将一条记录添加到此关联表中。Breeze知道此表的关系 形势 Breeze js为我制作了一个新记录,然后我找到了需要与之关联的记录。我是否需要将table1实体的id添加到fkey1可观察对象中,将table2实体id添加到fkey2可观察对象

背景信息

因此,我在后端将Breezejs和Knockout与EF5和Breeze MVC api控制器一起使用。我的数据库中的一个表是一个关联表,有3列—一个id和两个外键(我们将它们称为fkey1和fkey2以及表1和表2)。在我的应用程序中,我需要将一条记录添加到此关联表中。Breeze知道此表的关系

形势

Breeze js为我制作了一个新记录,然后我找到了需要与之关联的记录。我是否需要将table1实体的id添加到fkey1可观察对象中,将table2实体id添加到fkey2可观察对象中,并将整个实体添加到各自的关系属性中,并将此新实体对象添加到table1和table2实体关联属性中?或者将id添加到新对象中会自动将这些对象添加到关系属性中(可能这些对象订阅了fkey1和fkey2属性?——我猜这是在微风背景中发生的,黑暗中拍摄,尽管我不知道)

用Breeze创建新实体非常简单,我喜欢它,但当涉及到创建有很多关系的新实体时,我有点困惑


如果你需要更好地描述我的情况,请告诉我,这是一件很难解释的事情。谢谢

如果在创建和附加实体时适当设置“外键”属性,Breeze将自动更新所有关联关系,即此实体和任何相关实体上的导航属性。您不应该需要手动执行任何修复

类似地,如果执行相反操作并将实体指定给标量导航属性,则Breeze将自动更新外键。对于集合导航属性,如果将值推入集合,则Breeze将自动更新正在推入的实体的外键


希望这有帮助,但也许我错过了这个问题

这正是我想要的。谢谢JayCan,您可以创建一个新实体,然后在?是之后添加外键值,它将正确更新。您可以设置fk或navigation属性并获得相同的结果。请注意,在将实体附加到entityManager之前,所有这些都不会发生。如果任何一方已经连接,更新nav属性的行为将自动将实体带入entityManager,但fk不能这样做。因此,请确保要更新fk的任何关系的两侧都已连接。