Today, I worked on resolving a common database error when saving related data in the wrong order.
๐ ๐๐๐๐๐ฒ:
๐ฅ๐ฒ๐๐๐บ๐ฒ๐๐ถ๐น๐ฒ
๐ต๐ฎ๐ ๐ฎ ๐ณ๐ผ๐ฟ๐ฒ๐ถ๐ด๐ป ๐ธ๐ฒ๐ ๐๐ผ ๐๐ผ๐ฏ๐๐ฝ๐ฝ๐น๐ถ๐ฐ๐ฎ๐๐ถ๐ผ๐ป
.
๐ ๐๐ฎ๐ ๐๐ฎ๐๐ถ๐ป๐ด ๐ฅ๐ฒ๐๐๐บ๐ฒ๐๐ถ๐น๐ฒ
๐ณ๐ถ๐ฟ๐๐ โ ๐ฏ๐๐ ๐๐ผ๐ฏ๐๐ฝ๐ฝ๐น๐ถ๐ฐ๐ฎ๐๐ถ๐ผ๐ป
๐ฑ๐ถ๐ฑ๐ปโ๐ ๐ฒ๐
๐ถ๐๐ ๐๐ฒ๐, ๐๐ต๐ถ๐ฐ๐ต ๐ฐ๐ฎ๐๐๐ฒ๐ฑ ๐ฎ ๐ณ๐ผ๐ฟ๐ฒ๐ถ๐ด๐ป ๐ธ๐ฒ๐ ๐ฐ๐ผ๐ป๐๐๐ฟ๐ฎ๐ถ๐ป๐ ๐ฒ๐ฟ๐ฟ๐ผ๐ฟ.
๐ ๐๐ถ๐ (๐ฆ๐๐ฒ๐ฝ๐):
- Made
JobApplicationId
nullable inResumeFile
model.
public int? JobApplicationId { get; set; }
- ๐ฆ๐ฎ๐๐ฒ๐ฑ ๐ฅ๐ฒ๐๐๐บ๐ฒ๐๐ถ๐น๐ฒ without setting
JobApplicationId
:
_unitOfWork.ResumeFile.Add(resumeFile);
_unitOfWork.Save();
- ๐ฆ๐ฎ๐๐ฒ๐ฑ ๐๐ผ๐ฏ๐๐ฝ๐ฝ๐น๐ถ๐ฐ๐ฎ๐๐ถ๐ผ๐ป and used the generated ID:
_unitOfWork.JobApplication.Add(jobApplication);
_unitOfWork.Save();
- ๐จ๐ฝ๐ฑ๐ฎ๐๐ฒ๐ฑ ๐ฅ๐ฒ๐๐๐บ๐ฒ๐๐ถ๐น๐ฒ ๐๐ถ๐๐ต ๐๐ผ๐ฏ๐๐ฝ๐ฝ๐น๐ถ๐ฐ๐ฎ๐๐ถ๐ผ๐ป๐๐ฑ:
resumeFile.JobApplicationId = jobApplication.Id;
_unitOfWork.ResumeFile.Update(resumeFile);
_unitOfWork.Save();
๐ ๐๐ฒ๐๐๐ผ๐ป: ๐ฆ๐ฎ๐๐ฒ ๐ฝ๐ฎ๐ฟ๐ฒ๐ป๐ ๐ฟ๐ฒ๐ฐ๐ผ๐ฟ๐ฑ๐ ๐ณ๐ถ๐ฟ๐๐ ๐ถ๐ณ ๐ณ๐ผ๐ฟ๐ฒ๐ถ๐ด๐ป ๐ธ๐ฒ๐ ๐ฐ๐ผ๐ป๐๐๐ฟ๐ฎ๐ถ๐ป๐๐ ๐ฒ๐ ๐ถ๐๐ โ ๐ผ๐ฟ ๐บ๐ฎ๐ธ๐ฒ ๐๐ต๐ฒ ๐๐ ๐ป๐๐น๐น๐ฎ๐ฏ๐น๐ฒ ๐ฎ๐ป๐ฑ ๐๐ฝ๐ฑ๐ฎ๐๐ฒ ๐ถ๐ ๐น๐ฎ๐๐ฒ๐ฟ.
๐ฌ ๐๐ผ๐ ๐ฑ๐ผ ๐๐ผ๐ ๐ต๐ฎ๐ป๐ฑ๐น๐ฒ ๐๐ฎ๐๐ถ๐ป๐ด ๐ฟ๐ฒ๐น๐ฎ๐๐ฒ๐ฑ ๐ฒ๐ป๐๐ถ๐๐ถ๐ฒ๐ ๐๐ถ๐๐ต ๐ณ๐ผ๐ฟ๐ฒ๐ถ๐ด๐ป ๐ธ๐ฒ๐๐ ๐ถ๐ป ๐๐ ๐๐ผ๐ฟ๐ฒ? ๐๐ป๐ ๐๐ถ๐ฝ๐ ๐ผ๐ฟ ๐ฏ๐ฒ๐๐ ๐ฝ๐ฟ๐ฎ๐ฐ๐๐ถ๐ฐ๐ฒ๐?