C# ile başladım ve kendi DB'mi yapmak istedim. Ben buBirincil anahtar ihlali Varlık Çerçeve Kodu İlk
modelBuilder.Entity<BModel>().HasRequired(t => t.Model).WithMany();
çözülebilir düşündüm
Violation of PRIMARY KEY constraint 'PK_dbo.AModels'. Cannot insert duplicate key in object 'dbo.AModels'. The duplicate key value is (48ee1711-8da4-46c1-a714-19e985211fed).\r\nThe statement has been terminated.
: Ben DB BModel kaydetmeye çalıştığınızda
Ben iki model
public class AModel
{
public Guid ID { get; private set; }
public string Name { get; set; }
public int Count { get; set; }
public AModel()
{
this.ID = Guid.NewGuid();
}
}
public class BModel
{
public Guid ID { get; private set; }
public string Name { get; set; }
public AModel Model { get; set; }
public BModel()
{
this.ID = Guid.NewGuid();
}
}
var, bu hatayı olsun
ama tamamen kaybettim gibi görünüyor. Bu basit örnekle bana yardımcı olabilir misiniz?
hata mesajı şifreli olduğu yinelenen şansını çünkü Bir Rehber ile anahtarlar astronomik olarak olası değildir. Ancak şüphelendiğim şey, yanlış haritalama nedeniyle, birden fazla aynı yabancı anahtar oluşturmaya çalışmaktır. ModelBuilder.Entity() .HasRequired (t => t.Model) .WithMany() öğesini kullanırsanız ne olur? (X => {x.ToTable ("BAs"); x.MapLeftKey ("BId") x.MapRightKey ("AId");}); '? –
BModel oluştururken yeni bir AModel örneği oluşturmuyorum, ancak bunun yerine, Combobox'tan önceden oluşturulmuş bir AModel örneğini seçiyorum. Ben sadece BModel'den AModel'e referans oluşturmasını istiyorum. – xfrog
Bu nasıl çalışır? Yeni model oluşturulduğunda yeni bir GUID oluşturuyorsunuz. ve özel bir set var.Verilerden bir Mod aldığında, ID'ye nasıl değer atar? –