Ana tablonuzdaki ID ile referans tablonuzda ilişkilendirdiğiniz alanın; değerlerinin birbirinden farklı olmasından kaynaklanan hatadır.
Örnek vermek gerekirse aşağıdaki gibi tablo yapımız var. TBL_KULLANICI tablomuzdaki Id ile TBL_KULLANICI_YETKI tablomuzdaki Kullanici_Id birbiri ile ilişkilidir.
TBL_KULLANICI (Id, Ad)
TBL_KULLANICI_YETKI (Id, Kullanici_Id, Baslik)
Eğer TBL_KULLANICI tablosuna yeni kayıt eklerken aynı anda TBL_KULLANICI_YETKI tablosunada yeni kayıt ile alakı kayıt ekliyorsak; Id ile Kullanici_Id aynı değer olmak zorundadır. Farklı değer olduğunda bu hata ile karşılaşırsınız.
Bende ki tablo yapısı böyle değil ama yine aynı hatayı alıyorum.
UNIVERSITELER(ID,NAME)
FAKULTELER(ID,UNIID,NAME)
tablolarım var ve tabloları foreign key ile referans göstermedim.
UNIVERSITELER tablosuna kayıt eklerken bu hatayı alıyoum.
UNIVERSITELER uni = new UNIVERSITELER();
uni.NAME = txtUniversite.Text;
//ID otomatik artan sayı olmadığından en büyük değerin üstüne 1 ekleyerek buluyoruz.
uni.ID = db.UNIVERSITELER.Max(c => c.ID) + 1;
db.UNIVERSITELER.Add(uni);
db.SaveChanges(); // bu satırda hatayı alıyorum…
ID’yi primary key olarak belirlediniz mi?
tabloya nerden bakıyoz
Anlatmak istediğini anlamadım. Detaylı anlatman mümkün mü?
Merhaba,
Aynı hatayı farklı durumlarda da alabilirsiniz. Örneğin nvarchar(8) olarak belirlediğiniz bir alana 9 karekterlik veri girişi yapmaya kalktığınızda aynı hatayı alırsınız.