我有一個場景,我需要在表中插入一條記錄 - myPerson實體獲取personID(int identity)。然後,我需要取得該personID並將其添加到familyAdmin.personID。從尚未保存的實體獲取ID
我希望在一個db.SaveChange()中做所有這一切。
由於person實體是userAdmin實體的一部分,是否有辦法做到這一點?
目前,我怎麼把它設置:
userAdmin familyAdmin = new userAdmin();
familyAdmin.signupDate = DateTime.Today;
familyAdmin.lastLogin = DateTime.Today;
familyAdmin.registrationID = newReg.registrationID;
person myPerson = new person();
myPerson.personName = newReg.name;
myPerson.personEmail = newReg.email;
myPerson.personPhone = newReg.phone;
myPerson.personPhoneCarrier = newReg.carrierName;
myPerson.personDOB = newReg.dob;
myPerson.familyID = familyAdmin.familyID;
myPerson.personTypeID = newReg.personTypeID;
familyAdmin.personID = myPerson.personID;
familyAdmin.people.Add(myPerson);
db.userAdmins.Add(familyAdmin);
db.SaveChanges();
此選項是目前沒有工作。當我執行此選項時,不會產生錯誤。我只是得到一個0而不是一個1,2,3等。
插入到人表中正在工作,並正在生成一個ID。這只是當我嘗試檢索ID做插入到UserAdmin表在同一時間,我得到了0
我必須做這樣的事情:
person myPerson = new person();
myPerson.personName = newReg.name;
myPerson.personEmail = newReg.email;
myPerson.personPhone = newReg.phone;
myPerson.personPhoneCarrier = newReg.carrierName;
myPerson.personDOB = newReg.dob;
myPerson.familyID = familyAdmin.familyID;
myPerson.personTypeID = newReg.personTypeID;
db.person.Add(myPerson);
db.SaveChanges();
userAdmin familyAdmin = new userAdmin();
familyAdmin.signupDate = DateTime.Today;
familyAdmin.lastLogin = DateTime.Today;
familyAdmin.registrationID = newReg.registrationID;
familyAdmin.personID = myPerson.personID;
db.userAdmins.Add(familyAdmin);
db.SaveChanges();
部分EDMX圖像:
而且是選項之一不適合你嗎? – ErikEJ
是的,這是正確的。 - 我更新了我的問題以反映這一點。 – webdad3
什麼時候它不工作?錯誤消息? – CodeNotFound