0

複雑な問題が 1 つあります。ASP.NET MVC4 アプリケーションの 1 つのフォーム内に複数の項目を追加する必要があります。私は3つのモデルを持っています:

映画:

public class Movie
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }
    public string Title { get; set; }
    public string Description { get; set; }
    public int Duration { get; set; }
}

映画のすべての言語:

public class MovieLanguages
{
    [ForeignKey("Movie")]
    public int MovieId { get; set; }

    [ForeignKey("Language")]
    public int LanguageId { get; set; }

    public virtual Movie Movie { get; set; }
    public virtual Language Language { get; set; }
}

言語:

public class Language
{
    public int Id { get; set; }
    public string Name { get; set; }
}

フォーム内に次のような単純な行がある Movie モデルの場合、ユーザーの入力を保存する方法を理解しています。

@Html.EditorFor(model => model.Movie.Name)

問題は、ユーザーがフォーム内のムービーに複数の言語を追加できる必要があることです (モデル MovieLanguages)。したがって、フォームが表示されると、ユーザーは次のようになります。

ここに画像の説明を入力

ユーザーには言語のドロップダウン リストが表示され、リストから言語を選択して [言語の追加] ボタンをクリックすると、言語が下に表示されます。彼が [ムービーの保存] をクリックすると、選択したすべての言語もテーブル MovieLanguages のデータベースに保存されます。ムービー ID がデータベースに格納された後にのみわかる場合、この問題を処理するにはどうすればよいですか? この1対多の関係がある場合、ビューとコントローラーで複数のモデルの問題を解決する方法がわかりません。何か案は?:)

ありがとうございました。

4

1 に答える 1