外部キーを持つモデルの作成方法が正確にわかりません。モデルに外部キーを渡す必要がありますが、これを処理する最善の方法がわかりません。
エンティティ フレームワークのドキュメントのブログ/投稿の例を使用する場合:
投稿モデルをビューに渡します。
@model BlogApp.Models.Post
モデルの保存の一環として、BlogId を入力します。これは非表示のフィールドですが、概念的には次のようになります。
<div class="editor-label">
@Html.LabelFor(model => model.BlogId)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.BlogId)
@Html.ValidationMessageFor(model => model.BlogId)
</div>
Post BlogId フィールドに保存できるように、現在のブログ モデルからブログ ID を渡すにはどうすればよいですか?
私が考えることができるオプション。
投稿でブログ ID を取得 Get create し、それを ViewBag に渡します。
blog/2/post/create/3 のようなルーティング ルールを追加し、2 を取得して blogId として使用します。
- セッション変数で BlogId を設定し、Post create コントローラーの投稿に設定します。
上記のベスト プラクティスの 1 つですか、それとも私が認識していない別のオプションがありますか?