繁体   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