可以說我查詢數據庫並加載項目列表。然後我在詳細視圖窗體中打開其中一個項目,而不是從數據庫中重新查詢項目,而是從列表中的數據源創建項目的一個實例。在沒有先查詢的情況下更新記錄?
有沒有一種方法可以更新數據庫記錄而不需要獲取單個項目的記錄?
這裏有一個例子,我現在怎麼做:
dataItem itemToUpdate = (from t in dataEntity.items
where t.id == id
select t).FirstOrDefault();
然後拉動記錄我更新的項目的一些價值觀和推回錄後:
itemToUpdate.itemstatus = newStatus;
dataEntity.SaveChanges();
我想會有更好的方法來做到這一點,有什麼想法?
這不是一個非常糟糕的方式做事情。你有併發訪問該表嗎? – 2010-11-18 19:15:05
我會認爲這是像EF這樣的ORM在使用中的用法。要允許在應用程序上下文中對要創建/修改/刪除的對象執行操作,而不關心底層數據庫實現? – 2010-11-18 19:24:44
我認爲對於TSQL背景的開發人員來說,試圖接受和接受ORM的方法是有效的,但是查找記錄只是爲了更新它,而不會使用獲取的數據。開發人員不需要關心底層數據庫實現的這個概念就是一個瓶頸。開發人員對整個系統的瞭解越多,解決方案就越好。選項從來都不是一件壞事。 – barrypicker 2011-12-19 20:16:49