0
使用ADO.Entity更新單個記錄(具有特定ID)的單個字段的最佳做法是什麼? 據我所知,你必須檢索由ID整個對象,更新屬性和調用的SaveChanges:ADO.Entity更新一個記錄的單個字段而不檢索整個記錄
int id = ...;
var db = new MyEntities();
var o = (from mo in db.myObject
where mo.id = idObject
select mo).First();
o.MyProperty = "some value";
db.SaveChanges();
但似乎有點開銷不必檢索整個對象,因爲我不關心記錄的值,因爲我只是想設置一個屬性,而不考慮值。
另一種選擇是爲此創建一個存儲過程...
你爲什麼認爲檢索整個記錄是一個問題?這就是數據庫系統所要做的。如果記錄太大(包含多個BLOB等),那麼你應該重新執行你的模式。 –
我不同意這不是問題,因爲如果是在應用程序工作期間進行數千次的行爲,那麼這是一種開銷。無論大小如何,獲取不使用的數據都沒有意義。 – nogola
見Donald Knuth教授,「我們應該忘記小效率,大約97%的時間:**過早優化是所有邪惡的根源**」[文章](http://en.wikipedia.org/wiki/Program_optimization) –