Fehler: Bei db.SaveChanges () in .net? Ist eine Verletzung der referenziellen Integritätsbedingung aufgetreten.
Ich habe eine WPF-Anwendung mit erstelltEntity framework 4.0.
Wenn ich versuche, einen Datensatz einzufügenPhoneNumber
Tabelle es fügt ersten Datensatz erfolgreich ein. Aber wenn ich eine Liste durchlaufe und versuche, ein anderes Element in einzufügenPhoneNumber
table it Den Datensatz einfügen, der Fehler wird jedoch wie folgt angezeigt:
InvalidOperationException wurde vom Benutzercode verarbeitet: Die Änderungen an der Datenbank wurden erfolgreich festgeschrieben, aber beim Aktualisieren des Objektkontexts ist ein Fehler aufgetreten. Der ObjectContext befindet sich möglicherweise in einem inkonsistenten Zustand. Innere Ausnahmemeldung: Eine Verletzung der referenziellen Integritätsbedingung ist aufgetreten: Die Eigenschaftswerte, die die referenziellen Bedingungen definieren, sind zwischen Haupt- und abhängigen Objekten in der Beziehung nicht konsistent.
Code in .cs Datei:
protected void InsertContact(List<PhoneNumbersList> phoneList,otherparameters here)
{
Contact contact = new Contact();
PhoneNumber phnumber = new PhoneNumber();
//INSERT into Contacts Table
contact.PrefixTitleID = cfnm.PrefixTitleID;// cfnm.Title;
contact.FirstName = cfnm.FirstName;
contact.MiddleName = cfnm.MiddleName;
contact.LastName = cfnm.LastName;
contact.Website = webpageaddress;
contact.SuffixID = cfnm.SuffixID;
contact.Gender = gender;
contact.IMAddress = imaddress;
db.Contacts.Add(contact);
db.SaveChanges();
int contactid=contact.ContactID;
if (contactid > 0)
{
int phid = 0;
//INSERT into PhoneNumber Table
foreach (var ph in phoneList)
{
phnumber.PhoneTypeID = ph.PhoneTypeID;
phnumber.CountryID = ph.CountryID;
phnumber.City = ph.City;
phnumber.LocalNumber = ph.LocalNumber;
phnumber.Extension = ph.Extension;
phnumber.CountryCode = ph.CountryCode;
db.PhoneNumbers.Add(phnumber);
db.SaveChanges();//Getting Error here
phid=phnumber.ID ;
if(phid > 0)
{
//Save in ContactPhoneNumber Table
contactphonenumber.ContactID = contactid;
contactphonenumber.PhoneNumberID = phid;
db.ContactPhoneNumbers.Add(contactphonenumber);
db.SaveChanges();
}
}
}
}
Fehler beim Einfügen des zweiten Datensatzes inPhoneNumber
Tabelle. Irgendeine Idee?
Tabellenstruktur:
Hilfe geschätzt!