В моем ActionResult
я хочу отправить Работу и Image
, а объект изображения должен иметь JobID
, но если я не буду, t saveChanges
сначала для объекта Job идентификатор не продвигается вперед.Невозможно передать идентификатор объекта другому объекту, если я не использую db.SaveChanges()
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
, и я не получаю идентификатор в JobID
, если я не SaveChanges
после Я создаю объект работы, как я могу SaveChanges
только один раз? Как я слышал, не очень хорошая практика иметь несколько SaveChanges
в том же ActionResult
.
при использовании автоматической генерации ID, база данных будет генерировать идентификатор при вставке строки в базу данных, поэтому решение заключается в использовании ручной идентификатор, например guid, и затем вы можете использовать его перед сохранением записи. – SalmanAA