我有更新某些表的方法。爲了更新我需要得到的第一個TestProcess
,但我不喜歡這一點。如何更新TestProcess
而不運行select(firstOrDefault)
,僅用於更新操作?方法實體框架DbContext更新值無查詢和外鍵
例子:
public void UpdateTestProcess(int id, string updateID)
{
using (TestEntities context = new TestEntities())
{
TestProcess pr = context.TestProcess.FirstOrDefault(x => x.MyID == id);
pr.UpdateID = updateID;
context.TestProcess.Attach(pr);
context.ObjectStateManager.ChangeObjectState(pr, EntityState.Modified);
context.SaveChanges();
}
}
什麼?要更新一個項目,您首先必須「獲取」它以應用更新。你爲什麼不喜歡那樣? – Jonesopolis
可能是因爲它是對數據庫的額外查詢 – Andrei
可能重複的[我可以更新一個EF實體而不先詢問它嗎?](http://stackoverflow.com/questions/795528/can-i-update-an- ef-entity-without-query-for-it-first) – Andrei