Asp .NET MVC - Entity Framework有很多关系,插入数据

时间:2013-03-12 22:00:44

标签: c# many-to-many entity-framework-5

我有模特:

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");
                });
    }
}

已在sql server上创建表“ActorsMovies”。如何使用实体框架将数据插入此表?例如,要在表Movie上插入数据,我使用了代码db.Movies.Add(movie)和db.SaveChanges()  }

1 个答案:

答案 0 :(得分:1)

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

这应该允许您更新多对多表。