背景资讯
所以我在后端使用Breezejs和Knockout与EF5和Breeze MVC api控制器。我的数据库中的一个表是一个关联表,3列 - 一个id和两个外键(我们称之为fkey1和fkey2,其中包含table1和table2)。在我的应用程序中,我需要向此关联表添加一条记录。 Breeze知道这张桌子的关系。
场合
Breeze js为我创造了一个新纪录,然后我找到了我需要与之关联的记录。我是否需要将table1实体的id添加到fkey1 observable中,并将table2实体id添加到fkey2 observable中并将整个实体添加到它们各自的关系属性中并将此新实体对象添加到table1和table2实体关联属性中?或者将id添加到新对象中会自动将这些对象添加到关系属性中(也许这些对象会订阅fkey1和fkey2属性? - 这就是我猜测在微风的背景下发生的事情,在黑暗中拍摄虽然我不知道)。
使用Breeze创建新实体非常简单,我喜欢它,但在创建具有大量关系的新实体时我有点困惑。
如果您需要更好地描述我的情况,请告诉我,这是一件很难解释的事情。谢谢!
答案 0 :(得分:1)
如果在创建和附加实体时适当地设置“外键”属性,Breeze将自动更新所有相关关系,即此实体和任何相关实体的导航属性。您永远不需要手动执行任何修复。
类似地,如果您执行相反操作并将实体分配给标量导航属性,则Breeze将自动更新外键。对于集合导航属性,如果将值推入集合,则Breeze将自动更新正在推送的实体的外键。
希望这会有所帮助,但也许我错过了这个问题......