Как Linq to SQL делает DeleteAllOnSubmit? - PullRequest
0 голосов
/ 11 января 2011

Я не хочу знать, как это сделать, я хочу знать основной код.Каждый запрос Google представляет собой учебное пособие по удалению из базы данных.

Ответы [ 2 ]

1 голос
/ 06 ноября 2011

Как говорит Рэнди, он действительно выдает отдельные удаления SQL для каждой сущности :( Это, очевидно, очень неэффективно по сравнению с одним SQL "delete where" ... поэтому, похоже, люди пишут SQL и вместо этого передают его в ExecuteCommand.

В качестве альтернативы, вы можете использовать расширения DeleteBatch, обсуждаемые здесь: http://www.aneyfamily.com/terryandann/post/2008/04/Batch-Updates-and-Deletes-with-LINQ-to-SQL.aspx

1 голос
/ 11 января 2011

Непонятно, что именно вы имеете в виду. Но я попробую. Для каждой сущности, которую вы хотите удалить, L2S выдает одну инструкцию T-SQL Delete, чтобы удалить сущность. Поэтому, если вы удаляете, скажем, 20 сущностей, SQL Server будет выдан 20 операторов Delete.

...