これを行う賢い方法はありますか?
を使用している場合、(1 つずつロードして削除することなく) データベースから複数の削除を行うには、またはそのようなLinq2Nhibernate
ものに頼る必要があるように思われますか?HQL
それも持っていないようですLinq2Sql
か?次のようなことができるものが欲しいだけです:
DELETE FROM Accounts WHERE amount < 1000
何か案は?
これを行う賢い方法はありますか?
を使用している場合、(1 つずつロードして削除することなく) データベースから複数の削除を行うには、またはそのようなLinq2Nhibernate
ものに頼る必要があるように思われますか?HQL
それも持っていないようですLinq2Sql
か?次のようなことができるものが欲しいだけです:
DELETE FROM Accounts WHERE amount < 1000
何か案は?
簡単に言えば、できません。
次のようなことができます:
var q = from account in dataContext.Accounts
where account.amount < 1000
select account;
dataContext.DeleteAllOnSubmit(q);
ただし、フレームワークは同時実行の問題を追跡する必要があるため、常に個別の削除を実行します (したがって、削除される行が 500 行ある場合、500 の削除ステートメントが送信されます)。
より長いバージョンと解決策については、http ://www.aneyfamily.com/terryandann/post/2008/04/Batch-Updates-and-Deletes-with-LINQ-to-SQL.aspx を参照してください。