哪個ORM支持SQL像批量插入/更新/刪除:哪個.Net ORM支持sql如批量插入/更新/刪除?
var user=new UserInfoFields();
var update=user.Update().Set
(
user.Field1=1,
user.Field2="xxxx"
).Where(user.Name=="Jim" && user.Enable==true);
update.Excute();
相應的T-SQL是:
UPDATE UserInfo
SET
Field1=1,
Field2="xxxx"
WHERE Name='Jim' and Enable=1
(大多數,如果不是全部的話)ORM的**不是**被設計來處理批量操作。如果你想批量操作,使用合適的批量組件,或者直接在你的數據庫中執行(例如使用存儲的proc或類似的東西) – 2011-02-24 15:24:56
@marc_s:謝謝你的回答。我同意你關於ORM不是爲了處理批量操作而設計的,但是如果我們需要支持多種類型的數據庫,這種方式是非常有用的。我發現LLBLgen支持像這樣的操作,但是他的API不流利。 – guaike 2011-02-24 15:36:18
是的,這很方便 - 而且很好的做法。對於這些情況,我通常建議將函數封裝到存儲過程中,並從您的ORM執行該存儲過程(例如'DataContext' for Linq-to-SQL或類似方法) – 2011-02-24 15:37:54