我正在尝试使用实体框架和流畅的 API 建立多对多关系,但我一直试图允许重复条目。这是我所拥有的:
public class Pizza
{
public int PizzaId { get; set; }
public virtual ICollection<Topping> Toppings { get; set; }
}
public class Topping
{
public int ToppingId { get; set; }
}
- 任何披萨都应该可以有多种配料。
- 任何浇头都可以应用于多个比萨饼。
所以OnModelCreating()
我打电话给:
modelBuilder.Entity<Pizza>()
.HasMany(p => p.Toppings)
.WithMany()
.Map(m => m.ToTable("ToppingsForPizza"));
这给了我一个很好的多对多关系,但问题是我想要一个披萨能够有多个相同的浇头实例,例如双意大利辣香肠
生成的ToppingsForPizza
数据库无法支持...我猜是因为需要一个唯一的主键。
有没有办法做到这一点?
编辑:我的实际问题与披萨无关,这只是我想出的例子。