Quelle est la méthode LINQtoSQL-ish correcte pour tronquer une table?
-
06-07-2019 - |
Question
J'ai un projet avec une couche d'accès aux données formidable utilisant LinqtoSQL pour à peu près tout ce qui concerne nos bases de données. J'avais besoin de construire une classe d'assistance qui relie certaines opérations courantes des objets CLSA à celles de LinqToSql. Tout fonctionnait à merveille jusqu'à ce que je sois obligé de tronquer une table et que je ne dispose que de méthodes «supprimer».
Uh-oh. Une recherche rapide révèle que certaines personnes utilisent YourContext.ExecuteCommand (), ce qui est bien, mais j'essaie d'utiliser le moins possible sans t-shirt ces jours-ci.
Existe-t-il un moyen LINQ d'effectuer une tronquer une table ? Ou puis-je simplement ne rien connaître ?
La solution
Cela n’est pas possible sans une requête T-SQL personnalisée. Comme vous le savez probablement déjà, le fait de remplacer les mots clés .Delete () et SubmitChanges par une instruction DELETE.
Vous pouvez bien sûr créer une procédure stockée qui tronque la table, puis appeler la procédure à partir de LINQ, mais ce n’est pas vraiment ce que vous recherchez, je crois.
Autres conseils
Vous pouvez faire quelque chose comme ceci:
yourDataContext.ExecuteCommand("TRUNCATE TABLE YourTable");