2
我創建了一個帶有Entity framework 4.0.
的WPF應用程序當我試圖在PhoneNumber
表中插入記錄時,它成功插入第一條記錄。但是,當我環路通過一些名單,並嘗試插入另一項目爲PhoneNumber
表它插入記錄,但顯示錯誤爲:錯誤:.net中的db.SaveChanges()發生了參照完整性約束衝突?
InvalidOperationException異常是由用戶代碼處理: 到數據庫的更改被成功提交,但一更新對象上下文時發生錯誤。 ObjectContext可能處於不一致的狀態。內部異常消息:發生參照完整性約束衝突:定義參照約束的屬性值在關係中的主體和從屬對象之間不一致。
代碼在cs文件:
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();
}
}
}
}
在PhoneNumber
表中插入第二個記錄後收到錯誤。任何想法?
表結構:
幫助感激!
太棒了!謝謝@Dabblerni :) –