如果我不使用 db.SaveChanges(),则无法将对象 ID 转发给另一个对象

Can't pass object ID forward to another object if I don't use db.SaveChanges()

在我的 ActionResult 中,我想提交一个作业和一个 Image,并且图像对象必须有一个 JobID,但如果我不先 saveChanges对于 Job 对象,ID 不会前进。

var jobs = new Job
{

 ID = job.ID,
 .
 .
 //blabla other attributes
}

db.Jobs.Add(jobs);
db.SaveChanges();

这里我创建img对象

img.JobID = jobs.ID;

db.Entry(img).State = System.Data.Entity.EntityState.Added;

db.SaveChanges();

这里我必须 SaveChanges 更多时间来保存 Image,如果我不 SaveChanges 我就不会在 JobID 中获得任何 ID ] 创建作业对象后,如何才能 SaveChanges 一次?据我所知,在同一个 ActionResult.

中有多个 SaveChanges 不是一个好习惯

尝试建立正确的关系,获取以下概念以申请您的问题:

 var jobs = new Job
 {
   ID = job.ID,
   .
   .
   Image = new Image() { ... } 
  }

  db.Jobs.Add(jobs);
  db.SaveChanges();