ウィジェットのマスター ファイルがあり、同じウィジェット マスターを共有するウィジェットの多くのバージョンが存在する可能性があります。したがって、データベースには widgetMasters および widgetVersions テーブルがあります。
widgetMaster ID は ID 整数フィールドであり、widgetversions の icollection が設定されています。
Widgetversion には、それが属する widgetMaster ID を指す外部キーがあります。
サイトに「新しいウィジェットの作成」フォームがあります。これはボタンが押された後にロードされ、「createEntity」を使用して widgetMaster と widgetVersion の空のエンティティを作成します。バージョン「001」が作成されると同時に、親「widgetMaster」が作成されるという考え方です。マスターには、説明といくつかのカテゴリ フィールドのみが含まれます。バージョンには、このバージョンのウィジェットに関連する特定のフィールドが含まれており、最終的には数十のバージョンが存在する可能性があります。
ユーザーはすべてのフィールドに入力し、「保存」を押します。
この時点で、フォーム フィールドを検証し、すべて問題なければ、「datacontext.saveChanges()」を介してエンティティを保存します。これは、「新規作成」フォーム ビューのビューモデルで行われます。
これは、widgetMaster を作成するときに正常に機能しますが、このプロセスをより詳細に制御する必要があると思います...id は「savechanges」によって作成された後、widgetVersion エンティティに外部キーを設定する必要がありますが、保存を試みる前にwidgetVersion エンティティ。
「datacontext.saveChanges()」はワンストップショップのように見えるので、保存したばかりのwidgetmasterから新しく作成されたIDでwidgetVersionエンティティを保存する方法について完全に困惑しています。