3
私はMVC 4、EF 4.3およびMVCScaffoldingパッケージを使用しています。MvcScaffolding 1対多の関係
私は、単純なモデルクラス
public class Product
{
[Key]
public int ID { get; set; }
[Required]
public string Name { get; set; }
public virtual Category Category { get; set; }
}
public class Category
{
[Key]
public int ID { get; set; }
public string Name { get; set; }
public virtual ICollection<Product> Products { get; set; }
}
を以下している私はそうのようなコントローラーをスキャフォールド:
これは、コントローラ/ビューなど、私はと思うだろう
Steve sanderson's postパー
を生成
Scaffold Controller Category -Force
Scaffold Controller Product -Force
製品の_CreateOrEdit.cshtmlにはカテゴリのドロップダウンが含まれていますが、それはありません。
Followngは_CreateOrEdit.cshtmlの内容であり、それはカテゴリー
<div class="editor-label">
@Html.LabelFor(model => model.Name)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>
私が間違って何をやっているため、任意のHTMLテンプレートが含まれていませんか?
ええ、私は今確信しています。チュートリアルをもう一度チェックし、作成した元のモデルの状態を確認してください。彼はTeamIDを持っています。その後、仮想アイテムチームとプレイヤーコレクションを追加します。 CategoryIDをCategoryに置き換えました。または、あなたがCategoryIDの外部キーを持っていなかった。 – Banford
これはMvcScaffoldingの固有の制限だと思われます。ここで嫌うのは、モデルにCategoryIDを公開し、仮想カテゴリプロパティを持っていれば、両方が同期していることを確認する必要があるということです。 –