我正在尝试以many-to-many
和[{1}}表格的形式在People
和Penguins
之间创建一个实体框架PenguinPeople
关系1}}。当我使用下面的代码生成迁移时,不会创建Person_Id
。但是,如果我在Penguin类中注释掉3个“OwnerId”行,Penguin_Id
就可以了。是什么赋予了?他们应该是独立的。
many-to-many
答案 0 :(得分:0)
如果你有
ICollection<Penguin> AssignedPenguins { get; set; }
在你的Person类上,只有两个类的Id属性,然后它应该创建关联表。
答案 1 :(得分:0)
我不知道是否有更简单的方法可以做到这一点,但我被迫使用EF docs中概述的FluentAPI。示例仅来自docs,因为很明显我的企鹅/人模型只是实际导致问题的替代品:
modelBuilder.Entity<Post>()
.HasMany(p => p.Tags)
.WithMany(t => t.Posts)
.Map(mc =>
{
mc.ToTable("PostTags");
mc.MapLeftKey("Post_Id");
mc.MapRightKey("Tag_Id");
});