4

Webの標準チュートリアルを使用してASP.NETMVC3を掘り下げようとしていますが、戦略の問題が発生します。

現在、私は本のサンプルをフォローしており、映画のジャンルが別のエンティティに保存され、外部キーに接続されている「Movie」クラスを使用しています(わかりました、私はドイツ出身なので、クラスの名前はドイツ語です)。ここでは、関連するプロパティのみを示します。これはDbContextを使用したデータベースファーストのアプローチであり、私のモデルはEF 4.x DbContext Generatorを使用してedmxから作成され、edmxはデータベースから自動的に作成されました。

public partial class Film
{
    public Film() { }

    public int ID { get; set; }
    public string Titel { get; set; }
    public int GenreID { get; set; }
    public virtual Genre Genre { get; set; }
}

public partial class Genre
{
    public Genre() { }
    public int GenreID { get; set; }
    public string Name { get; set; }
}

DBSetを提供するDBContextを使用して、FilmクラスのCRUDビューを使用して新しいコントローラーを作成すると、DropdownListを使用して「Genre」というラベルの付いたGenreIDを編集する編集ビューが表示されます。罰金。それが私が欲しいものです。

しかし、その後、別の編集ビューを個別に作成しようとしました。そこで、編集アクションメソッドを右クリックして、「ビューの追加」を選択し、「Edit2」と呼び、モデルとしてフィルムを使用し、スキャフォールドテンプレートとして「編集」を使用しました。このビューでは、GenreIDというラベルの付いた単純な「EditorFor(m-> m.GenreID)」を取得しました。それは私が望んでいることではありません。

もちろん、手動で変更することもできます。もちろん、私はもっとうまくいくと主張するたくさんの足場ツールをダウンロードすることができます。

しかし、これがEFテンプレートのバグなのか、それとも私のモデルが間違って構築されているためにジャンル/ジャンルIDが混乱するのかを理解したいと思います。すべてを一度に作成すると、scaffoldがDropDownを作成するため、欠落している詳細が「ただ」あるはずです。

4

1 に答える 1

0

コントローラー「Edit2」でアクションを呼び出す必要があります。

于 2014-03-18T16:33:04.103 に答える