我有一个小部件的主文件,并且该小部件的多个版本可以共享相同的 widgetmaster。所以数据库上有widgetMasters 和widgetVersions 表。
widgetMaster ID 是一个标识整数字段,并具有一个 widgetversions 集合。
Widgetversion 有一个外键指向它所属的 widgetMaster ID。
我的网站上有一个“创建新小部件”表单。这是在按下按钮后加载的,它使用“createEntity”为 widgetMaster 和 widgetVersion 创建空白实体。这个想法是在创建版本“001”的同时创建父“widgetMaster”。master 只包含描述和一些类别字段。版本包含与这个版本的小部件相关的特定字段,最终可能有几十个版本。
用户填写所有字段并按“保存”。
此时我验证表单字段,如果一切正常,继续通过“datacontext.saveChanges()”保存实体。这是在我的“创建新”表单视图的视图模型中完成的。
这在创建widgetMaster时工作正常,但我认为我需要更好地控制这个过程......我需要在widgetVersion实体上设置外键ID由“savechanges”创建但在它尝试保存之前小部件版本实体。
由于“datacontext.saveChanges()”似乎是一个一站式商店,我完全不知道如何使用刚刚保存的 widgetmaster 中新创建的 ID 来保存 widgetVersion 实体。