Ich habe ein Szenario, in dem ich einen Datensatz in eine Tabelle einfügen muss - die myPerson-Entität, um die personID (int identity) zu erhalten. Dann muss ich diese personID nehmen und sie der familyAdmin.personID hinzufügen.Erhalte ID von einer Entität, die noch nicht gespeichert wurde
Ich hatte gehofft, all dies in einem db.SaveChange() zu tun;
Gibt es eine Möglichkeit, dies in einem zu tun, da die Personenentität Teil der Entität userAdmin ist?
Derzeit wie ich es einrichten:
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();
Diese Option arbeitet derzeit nicht. Es gibt keinen Fehler, der erzeugt wird, wenn ich diese Option mache. Ich bekomme nur eine 0 anstelle von 1,2,3 usw.
Die Einfügung in die Personentabelle funktioniert und eine ID wird korrekt generiert. Es ist nur, wenn ich versuche, diese ID abzurufen den Einsatz in die Admin Tabelle zur gleichen Zeit zu tun, dass ich die 0.
bekomme ich so etwas wie dies zu tun:
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();
Teil EDMX Bild:
Und ist Option 1 nicht für Sie arbeiten? – ErikEJ
ja das ist richtig. - Ich habe meine Frage aktualisiert, um das zu berücksichtigen. – webdad3
Was es sagte, wenn es nicht funktioniert? Die Fehlermeldung? – CodeNotFound