我有两个实体:学生和Enrollement有一对多的关系.实体看起来像
public class Student{ [Key] public int Studentid {get; set;} public string fname{get; set;} public string lname{get; set;} public virtual ICollectionEnrollement_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是一个自动增量主键,在注册表中用作外键.我试图将数据插入两个表.如果1失败,则两个插入都不应该提交.所以,我有以下代码.
try{ repository.stu.insert(new student{fname = "fname", lname="lname"}); repository.enr.insert(new Enrollement{student=???, kk="test"}); } finally{ repository.save(); }
当数据尚未保存时,我应该如何将外键传递给Enrollement记录.还是有另一种方法吗?