エンティティ フレームワークと流暢な 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
データベースはそれをサポートできません...一意の主キーが必要なためだと思います。
これを行う方法はありますか?
編集:私の実際の問題はピザとは関係ありません。これは私が思いついた例にすぎません。