ı bu iki çok temel varlıkları var diyelim: Bazı nedenlerden dolayıEF4.1 Kod İlk: bağımlı bir varlık navigasyon özelliği olmayan bir ilişki için silme basamaklarını nasıl devre dışı bırakılır
public class ParentEntity
{
public int Id;
public virtual ICollection<ChildEntity> Childrens;
}
public class ChildEntity
{
public int Id;
public int ParentEntityId; // Foreign Key
public virtual ParentEntity parent; // [NOTWANTED]
}
, ben istemiyorum ChildEntity, bir başvuruyu ebeveynine geri gönderir. Sadece ParentEntity kimliğini saklamak istiyorum ama daha fazla bir şey. Şimdiye kadar, sorun değil, sadece [NOTUANTED] satırı siliyorum ve her şey beklendiği gibi çalışıyor.
Sorunum şudur: bu özel durumdaki basamaklı silme nasıl devre dışı bırakılır?
Hala ebeveyn navigasyon özelliği o kadar kolay olacaktır olsaydı: (Ben silme üzerine basamaklarını devre dışı bırakmak için elde edebilirsiniz nasıl hiçbir fikrim yok navigasyon özelliği olmadan Ancak
modelBuilder.Entity<ChildEntity>()
.HasRequired(c => c.parent)
.WithMany(p => p.Childrens)
.WillCascadeOndelete(false)
küresel devre dışı bırakmadan tabiki, ne de tabana göre, ancak sadece ilişki için). Şu anda ne yaptım
silme üzerinde basamaklarını devre dışı bırakmak için, null bir int olarak yabancı anahtarı ayarlamak, ama bu hoş değil:
public int? ParentEntityId; // Foreign Key - nullable just to disable cascade on delete
Ben çalışmak için nasıl alabilirim akıcı API? Bunun mümkün olabileceğini düşünün.
Eğer .hasOne (ParentEntity) – Saeid