Zdroj:
http://stackoverflow.com/questions/11382783/entity-framework-code-first-many-to-many-mapping-table
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Recipe>()
.HasMany(x => x.Members)
.WithMany(x => x.Recipes)
.Map(x =>
{
x.ToTable("Cookbooks"); // third table is named Cookbooks
x.MapLeftKey("RecipeId");
x.MapRightKey("MemberId");
});
}
Problém je že pokud používáte Context který dědí např z IdentityDbContext<User>tak je potřeba aby se při vytváření modelu zavolalo base.OnModelCreating(modelBuilder);
Jinak při migraci obdržíte několik chybových zpráv ve smyslu, že tabulky související s Identitou nemají nastaveny primární klíče.
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
}
Žádné komentáře:
Okomentovat