Parfois Entity Framework génère une clé étrangère en double comme dans cet exemple :
CreateTable( "dbo.Table", c => new { AttributID = c.Int(nullable: false), DeuxiemeAttributID = c.Int(nullable: false), Attribut_ID = c.Int(), }) .PrimaryKey(t => new { t.AttributID, t.DeuxiemeAttributID }) .ForeignKey("dbo.DeuxiemeTable", t => t.Attribut_ID) .ForeignKey("dbo.DeuxiemeTable", t => t.AttributID, cascadeDelete: true) .ForeignKey("dbo.TroisiemeTable", t => t.DeuxiemeAttributID, cascadeDelete: true) .Index(t => t.AttributID) .Index(t => t.DeuxiemeAttributID) .Index(t => t.Attribut_ID);
Dans cet exemple, soit :
modelBuilder.Entity<Societe>() .HasMany(x => x.Employes) .WithRequired() .HasForeignKey(x => x.SocieteID) .WillCascadeOnDelete(false);