我需要從數據庫中加載一個對象,修改它的一些字段和關係,然後我想只爲一個字段存儲一個新值,而不修改其餘字段。如何使用實體框架從實體更新單個字段?
這將是這個樣子:
var thing = db.Things.First();
thing.Field1 = "asdas";
thing.Field2 = 23;
thing.OtherThings.Add(new OtherThing());
thing.FieldToUpdate = doSomething(thing);
db.SaveChanges();
但是,這將保存所有的變化,我要的是僅保存FieldToUpdate ...
我環顧四周,所有我我發現是使用存儲過程,這似乎太多東西看起來如此簡單,除了我將不得不做一個不同的存儲過程,每次我需要做這樣的事情...
我目前的解決方案是打開另一個上下文,加載這個東西ain,更新FieldToUpdate和SaveChanges,但這既低效又醜陋。