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 :) –