Bu konuyla ilgili bir kaç soru var, ama sorum gerçek kendilik referanslama için çok spesifik. Diğer sorular için tüm örnekler döngüsel referanslardır ve bu durumda bana yardımcı olmuyor.Kodda gerçek kendini referanslayan varlıklar ile nasıl çalışılır EF5?
public class User
{
[Key]
public int Id { get; set; }
...
public int CreatedByUserId { get; set; }
}
ve bu harita:
ben bu modeli var Diyelim göçler sonrasında
public class UserMap : EntityTypeConfiguration<User>
{
public UserMap()
{
this.HasRequired(a => a.CreatedByUser)
.WithMany()
.HasForeignKey(u => u.CreatedByUserId);
}
}
el kimliğine sahip SQL Management Studio'da bir kullanıcı ekleyebilir Bu kodu içeren bir veritabanı oluşturur = 1 ve CreatedByUserId = 1, böylece bana bu gibi özkaynakların çalışabileceğini söyler. Bir kullanıcı oluşturmak için EF kullanırken, "bağımlı işlemler için geçerli bir sıralamayı belirleyemem" sorunuyla karşılaşıyorum. İlk varlıkla ilgili yabancı bir anahtarı olan yeni bir varlığa atıfta bulunan yeni bir öğeyi içeren, konuyla ilgili bir çok soru var. Bu gibi durumlarda çözüm, ya ilk önce var olan varlıklardan birini kurtarır ya da dairesel varlık yabancı anahtarında geçersiz bir kimlik bulundurur. Bunlardan hiçbirini yapamam çünkü ilk imkansız olurdu ve ikincisi ise nemli ilanlara sahip olamayacağım harici bir kısıtlama.
El ile bir giriş ekleyerek bunu nasıl başarabileceğimi görmek, bunun bir EF5 sınırlaması olduğunu varsayabiliriz. İş çevreleri nelerdir?
Public int? CreatedByUserId' kabul edilebilir mi? –
* Harici kısıtlamanıza * ışık tutabilir misiniz? Bu da mantıken imkansız. Tavuk ya da yumurta ... 'OluşturulduYükletici' nüklüz olmalıdır. İlk kullanıcıyı oluşturmak için kullanıcı bulunamaz. – Khan
@Scott, nullable int bir yok. – Levitikon