ben hatayıEntity Framework 7'de SİLİNİ SİLİNMEYİ AÇIKLAMA? İdare Framework 7'de
döngüleri veya çoklu kaskad yolları neden olabilir masaya 'ChangeOrder' üzerine FOREIGN KEY kısıtlaması 'FK_ChangeOrder_User_CreatedByID' Tanıtımı olsun bir göç uygulamak için çalışıyorum. EYLEM YAPMAK ÜZERİNDE AÇIK veya EYLEM OLMADAN AÇIKLAMAK seçin veya diğer ÖNSÖZ ANAHTAR kısıtlamalarını değiştirin.
Kısıtlama oluşturulamadı. Önceki hataları görün.
Buna bir .Conventions
sahip görünmüyor DBContext ama EF7 modelBuilder
yılında
modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
ekleyerek bunun üstesinden Varlık Framework eski sürümlerinde biliyoruz ve google sadece eski dönüyor EF 4 olsa da EF 6 sonuçları.
Entity Framework 7'de ON DELETE NO ACTION
kısıtlamasına nasıl emin olabilirim?
Edit: Oleg tarafından sağlanan cevap görünüşe göre Yabancı Anahtar başına yapacaktır ama bunu küresel olarak ilan etmek için bir satır kod kullanmak çok daha kolay olacağı için bunu yapmak için genel olarak bunu yapmak istiyorum. sahip olduğum yüzlerce ilişkiden her biri.
Düzenleme 2: Kod 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; }
}
bu benim hayatımı kurtardı !!!!! Çok sayıda FK meselesini ele geçiriyordum. Bir milyon teşekkür ederim !!!!!!!!!!!!!! –