前段時間我寫了一段代碼來更新數據庫表中的多行。該代碼是這樣更新多行Linq vs SQL
var db = new MyDataContext();
db.Execute("UPDATE Details SET IsActive = 0 WHERE MasterId = 1");
然後有一天,當我得到了最新版,我看到有人改變了代碼,以這樣的
var details = from d in db.details where d.MasterId == 1 select d;
foreach (var detail in details)
detail.IsActive = false;
db.SubmitChanges();
所以我的問題是文件的:什麼是更新多行的更好方法是什麼?使用Linq或SQL?
我不會添加額外的答案 - 我的想法是,如果你想要一個答案,那麼它將不得不是一個* set *操作的SQL,即你想用單個語句影響很多行的地方,但作爲你說它實際上是一個折衷,你想做什麼妥協。 – Murph 2009-11-18 20:05:22