Einfügen von Daten gleichzeitig in Einheit mit einem zu vielen Beziehung

Habe ich zwei Personen: Schüler und Enrollement mit einer eins-zu-viele-Beziehung.
Die Entitäten sieht aus wie

public class Student{
 [Key]
 public int Studentid {get; set;}
 public string fname{get; set;}
 public string lname{get; set;}
 public virtual ICollection<Enrollement> Enrollement_E{ get; set; }
 }

 public class Enrollement{
 [Key]
 public int EnrolId {get; set;}

 [ForeignKey("Studentid ")]
 public int Student{get; set;}
 public string kk{get; set;}
 public virtual Student Student_E { get; set; }
 }

Studentid ist ein autoincremented Primärschlüssel und dient als Fremdschlüssel in der Registrierungs-Tabelle. Ich versuche zum einfügen von Daten in diese Tabelle. Die beiden Einsätze sollten nicht zu Begehen, wenn 1 ausfällt. So, ich habe den folgenden code.

try{
  repository.stu.insert(new student{fname = "fname", lname="lname"});
  repository.enr.insert(new Enrollement{student=???, kk="test"});
}
finally{
  repository.save();
}

Wie soll ich den pass in der der Fremdschlüssel für die Enrollement-Datensatz, wenn die Daten noch nicht gespeichert wurde. Oder gibt es einen anderen Weg, dies zu tun?

InformationsquelleAutor jpo | 2013-12-20
Schreibe einen Kommentar