我创建了一个 WPF 应用程序Entity framework 4.0.
当我尝试插入记录时PhoneNumber
表成功插入第一条记录。但是,当我循环遍历某个列表并尝试将另一个项目插入到PhoneNumber
表插入记录但显示错误为:
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
桌子。任何想法?
Table Structure:
![enter image description here](https://i.stack.imgur.com/o2z6b.png)
帮助表示赞赏!
你实例化phnumber
仅一次,然后尝试将其多次插入数据库中。移动PhoneNumber phnumber = new PhoneNumber();
里面的短语foreach (var ph in phoneList)
Block.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)