Каков правильный LinqToSql-ish способ усечения таблицы?
-
06-07-2019 - |
Вопрос
У меня есть проект с огромным уровнем доступа к данным, использующий LinqToSql практически для всего, что касается наших баз данных.Мне нужно было создать вспомогательный класс, который связывает некоторые распространенные операции crud с объектами CLSA с объектами LinqToSql.Все работало гладко, пока мне не понадобилось выполнить усечение таблицы, и все, что у меня было, - это методы “удалить”.
О-о.Быстрый поиск показывает, что некоторые люди используют YourContext.ExecuteCommand(), что приятно и все такое, но в наши дни я стараюсь максимально использовать “t-sql-less”.
Существует ли LINQ-способ выполнить обрезать на столе?Или я просто невежественный?
Решение
Это невозможно без выполнения пользовательского запроса T-SQL.Выполнение .Послесловия Delete() и SubmitChanges, как вы, вероятно, уже знаете, приведут к оператору DELETE .
Конечно, вы могли бы создать хранимую процедуру, которая усекает таблицу, а затем вызвать процедуру из LINQ, но, я полагаю, это не совсем то, что вы ищете.
Другие советы
Вы можете сделать что-то вроде этого:
yourDataContext.ExecuteCommand("TRUNCATE TABLE YourTable");