2013-04-05 47 views
2

考慮到了這一點,我的代碼方面片斷:如何獲取對象的主鍵保存後用的DbContext

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();完成後的校準對象?

換句話說,如何在提交該對象後獲得主鍵?

回答

3

刷新在上下文中的條目:)

db.Entry(calibration).Reload(); 

然後你可以訪問新創建的PK

+0

這就是我一直在尋找。如果您認爲它的組織性和直接性,請不要忘記+1。 – 2013-04-05 19:09:08

2

此外,您可以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; 
+0

+1也很有用,知道 – 2013-04-05 19:02:45

相關問題