簡體   English   中英

ASP.NET MVC-實體框架多對多關系,插入數據

[英]Asp .NET MVC - Entity Framework many to many relationship, insert data

我有模型:

public class Movie
{
    [Key]
    public int MovieId { get; set; }

    public string Title{ get; set; }

    public ICollection<Actor> Actors { get; set; }
 }

public class Actor
{
    [Key]
    public int AtorId { get; set; }
    public string Nome { get; set; }

    public ICollection<Movie> Movies { get; set; }
}

和上下文:

public class MoviesContext : DbContext
{
    public DbSet<Movie> Movies { get; set; }
    public DbSet<Actor> Actors { get; set; }

    public MoviesContext()
    {
        Database.SetInitializer(new DropCreateDatabaseIfModelChanges<MoviesContext>());
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
        modelBuilder.Entity<Movie>().
            HasMany(m => m.Actors).
            WithMany(a => a.Movies).
            Map(
                m =>
                {
                    m.MapLeftKey("MovieId");
                    m.MapRightKey("ActorId");
                    m.ToTable("ActorsMovies");
                });
    }
}

表“ ActorsMovies”已在sql服務器上創建。 如何使用實體框架將數據插入此表? 例如,要在電影表上插入數據,我使用了代碼db.Movies.Add(movie)和db.SaveChanges()}

movie.Actors.Add(actor);
db.SaveChanges();

這應該允許您更新多對多表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM