ile çakışan iki çerçeve Employee
(n) ve n12 ilişkisine sahip Store
(1) var.Varlık Çerçeve, başvuru kısıtlaması
Employee
, idStore
numaralı ana anahtarı olan Store
numaralı birincil anahtara sahiptir.
public void deleteEmployee(int idEmployee)
{
MyEntities pe = new MyEntities();
try
{
var firstQuery = from e in pe.Employees
where e.idEmployee == idEmployee
select e;
string findIdStore = firstQuery.First().StoreReference.EntityKey.EntityKeyValues[0].Value.ToString();
int idStore = Int32.Parse(findIdStore);
Store r = pe.Stores.First(c => c.idStore == idStore);
r.Employees.Remove(firstQuery.First());
pe.DeleteObject(firstQuery.First());
pe.SaveChanges();
}
catch (Exception ex)
{
return;
}
}
Ve yine, ben hata alıyorum referans sınırlamayla çakıştığı silme açıklamada şu: Burada
Ben Employee
bir satırı silmeye nasıl.
tam hata
buradadır: REFERANS kısıtlaması "FK_Bill_Employee" ileDELETE deyimi çatışma. Çakışma, "myDatabase" veritabanında, "dbo.Bill", "idEmployeeMember" sütununda gerçekleşti.
Deyim sonlandırıldı.
Hayır, yapamam. Aynı hatayı söylüyor. –
Hiçbir şey. Ana anahtarı null olmayan basit bir tablo. Ancak, çalışanı idStore = 1 ile silmeye çalışırsam, eğer Store tablosunda idStore = 1 ile sadece bir satır varsa, silinmelidir. Sanırım bu yüzden bu hata oluyor. –
{"The DELETE deyimi REFERANS kısıtlamasıyla çelişiyor \" FK_Bill_Employee \ ".Flaşma \" myDatabase \ "veritabanında oluştu, tablo \" dbo.Bill \ ", 'idEmployeeMember' sütunu. \ R \ nDevamı "} –