In Entity Framework 7 quando sto cercando di applicare una migrazione ottengo l'erroreSpecificare ON DELETE NO ACTION in Entity Framework 7?
Introducendo vincolo FOREIGN KEY 'FK_ChangeOrder_User_CreatedByID' sul tavolo 'ChangeOrder' potrebbe causare cicli o più percorsi a cascata. Specificare ON DELETE NO ACTION o ON UPDATE NO ACTION o modificare altri vincoli FOREIGN KEY.
Impossibile creare il vincolo. Vedi errori precedenti.
conosco in versioni precedenti di Entity Framework si sarebbe occupato di questo con l'aggiunta
modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
alla DbContext ma in EF7 modelBuilder
non sembra avere un .Conventions
ad esso e Google è solo tornando anziani EF 4 anche se EF 6 risultati.
Come si specifica il vincolo ON DELETE NO ACTION
in Entity Framework 7?
Modifica: La risposta fornita da Oleg lo farà apparentemente per Chiave esterna ma vorrei farlo globalmente poiché sarà molto più semplice utilizzare una riga di codice per dichiararla globalmente, quindi specificare il codice per ogni singola delle centinaia di relazioni che finirò per avere.
Edit 2: Codice di Oleg
public class ChangeOrder
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ID { get; set; }
public Int16? ApprovedByID { get; set; }
public Byte ApprovalStatusID { get; set; }
public Int16 AssignedToID { get; set; }
public Int16 CreatedByID { get; set; }
public Byte CurrentStatusID { get; set; }
public DateTime? DateApproved { get; set; }
public DateTime? EndDate { get; set; }
public Byte ImpactID { get; set; }
public Byte PriorityID { get; set; }
public DateTime? StartDate { get; set; }
public Byte TypeID { get; set; }
[Required]
public string Name { get; set; }
[Required]
public string ReasonForChange { get; set; }
[ForeignKey("ApprovedByID")]
public User ApprovedBy { get; set; }
[ForeignKey("ApprovalStatusID")]
public ChangeApprovalStatus ApprovalStatus { get; set; }
[ForeignKey("AssignedToID")]
public User AssignedTo { get; set; }
[ForeignKey("CreatedByID")]
public User CreatedBy { get; set; }
[ForeignKey("ImpactID")]
public ChangeImpact Impact { get; set; }
[ForeignKey("PriorityID")]
public ChangePriority Priority { get; set; }
[ForeignKey("TypeID")]
public ChangeType ChangeType { get; set; }
[ForeignKey("CurrentStatusID")]
public ChangeStatus CurrentStatus { get; set; }
}
public class JobSightDBContext : DbContext
{
protected override void OnModelCreating(ModelBuilder modelbuilder)
{
base.OnModelCreating(modelbuilder);
}
DbSet<ChangeApprovalStatus> ChangeApprovalStatus { get; set; }
DbSet<ChangeImpact> ChangeImapct { get; set; }
DbSet<ChangeOrder> ChangeOrders { get; set; }
DbSet<ChangePriority> ChangePriorities { get; set; }
DbSet<ChangeStatus> ChangeStatus { get; set; }
DbSet<ChangeType> ChangeTypes { get; set; }
DbSet<User> Users { get; set; }
}
mi ha salvato la vita !!!!! Stavo ricevendo molti problemi di modellazione dell'FK. Grazie mille!!!!!!!!!!!!!! –