Каков правильный LINQtoSQL-способ сделать усечение таблицы? - PullRequest
3 голосов
/ 09 октября 2008

У меня есть проект с огромным уровнем доступа к данным, использующий LinqtoSQL для всего, что касается наших баз данных. Мне нужно было создать вспомогательный класс, который соединяет некоторые общие операции crud из объектов CLSA с объектами LinqToSql. Все работало без сбоев, пока мне не пришлось урезать таблицу, и все, что у меня было, это методы «удаления».

Ой-ой. Быстрый поиск показывает, что некоторые люди используют YourContext.ExecuteCommand (), и это хорошо, но в настоящее время я стараюсь как можно больше использовать t-sql-less.

Существует ли способ LINQ для выполнения усечения для таблицы ? Или я просто невежественный ?

Ответы [ 2 ]

3 голосов
/ 10 октября 2008

Это невозможно без выполнения пользовательского запроса T-SQL. Выполнение послеслов .Delete () и SubmitChanges, как вы, вероятно, уже знаете, приведет к выражению DELETE.

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

2 голосов
/ 10 октября 2008

Вы можете сделать что-то вроде этого:

yourDataContext.ExecuteCommand("TRUNCATE TABLE YourTable");
...