¿Cuál es la forma correcta de LINQtoSQL-ish de hacer truncar una tabla?
-
06-07-2019 - |
Pregunta
Tengo un proyecto con una capa de acceso a datos formidable usando LinqtoSQL para casi cualquier cosa que toque nuestras bases de datos. Necesitaba construir una clase auxiliar que conectara algunas operaciones comunes de objetos CLSA a los de LinqToSql. Todo ha estado funcionando a la perfección hasta que tuve que hacer un truncamiento en una mesa y todo lo que tenía era & # 8220; eliminar & # 8221; métodos.
Uh-oh. Una búsqueda rápida revela que algunas personas están usando YourContext.ExecuteCommand (), lo cual es bueno y todo, pero estoy tratando de ir a & # 8220; t-sql-less & # 8221; tanto como sea posible en estos días.
¿Hay una forma LINQ de realizar un truncar en una mesa ? ¿O solo estoy despistado ?
Solución
Esto no es posible sin hacer una consulta T-SQL personalizada. Hacer una contraseña posterior .Delete () y SubmitChanges, como probablemente ya sabrás, daría como resultado una declaración DELETE.
Por supuesto, puede crear un procedimiento almacenado que trunca la tabla y luego llamar al procedimiento desde LINQ, pero eso no es realmente lo que está buscando, creo.
Otros consejos
Puedes hacer algo como esto:
yourDataContext.ExecuteCommand("TRUNCATE TABLE YourTable");