如何在使用DbContext保存对象后获取该对象的主键

本文关键字:对象 获取 保存 DbContext | 更新日期: 2023-09-27 18:07:46

给出这段脱离上下文的代码片段:

var calibration = new Calibration
{
    CalibrationType = SelectedTest.TestTypeId
    ,Expiration = expirationDate
    ,LastSaved = DateTime.Now
    ,StatusTypeId = 1
    ,TechnicianId = SelectedTechnician.Id
    ,Phases = BuildCalibrationPhases()
};
db.Calibrations.Add(calibration);
db.SaveChanges();

db.SaveChanges();完成后,实体框架是否有办法获得为校准对象选择(播种)的主键?

换句话说,我如何在这个对象提交后获得它的主键?

如何在使用DbContext保存对象后获取该对象的主键

在上下文中重新加载条目:

db.Entry(calibration).Reload();

然后可以访问新创建的PK

也可以在db.SaveChanges();

之后从Calibration.PrimaryKeyProperty获取

,

var calibration = new Calibration
{
    CalibrationType = SelectedTest.TestTypeId
    ,Expiration = expirationDate
    ,LastSaved = DateTime.Now
    ,StatusTypeId = 1
    ,TechnicianId = SelectedTechnician.Id
    ,Phases = BuildCalibrationPhases()
};
db.Calibrations.Add(calibration);
db.SaveChanges();

int value = Calibration.PrimaryKeyProperty;