在實體框架7時,我嘗試應用遷移我的錯誤在Entity Framework 7中指定ON DELETE NO ACTION?
引進國外KEY約束「FK_ChangeOrder_User_CreatedByID」表「ChangeOrder」可能會導致循環或多個級聯路徑。指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY約束。
無法創建約束。查看以前的錯誤。
我知道在老版本的實體框架,你會處理這種通過增加
modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
到的DbContext但EF7 modelBuilder
似乎並不有.Conventions
它和谷歌只返回舊的EF 4通過EF 6結果。
如何特定實體框架7中的ON DELETE NO ACTION
約束?
編輯: 由Oleg提供的答案顯然會做到每個外鍵,但我想全局做它,因爲它會更容易使用一行代碼來全局聲明這一點,然後必須指定代碼出來我將最終擁有的數百種關係中的每一種。
編輯2:代碼奧列格
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; }
}
這救了我一命!!!!!我得到了很多建模FK問題。太感謝了!!!!!!!!!!!!!! –