什么是正确的LINQtoSQL-ish方法来进行表截断?

时间:2008-10-09 19:56:47

标签: linq-to-sql tsql data-access-layer truncate

我有一个带有强大数据访问层的项目,使用LinqtoSQL几乎可以触及我们的数据库。我需要构建一个辅助类,它将一些常见的crud操作从CLSA对象桥接到LinqToSql。一切都在游泳,直到我需要在桌子上做截断,我所有的都是“删除”方法。

糟糕,快速搜索显示有些人正在使用YourContext.ExecuteCommand(),这很好,但我现在尽可能多地尝试“t-sql-less”。

是否有LINQ方式来执行truncate on a table?或者我只是clueless

2 个答案:

答案 0 :(得分:3)

如果不执行自定义T-SQL查询,则无法执行此操作。正如您可能已经知道的那样,执行.​​Delete()和SubmitChanges后会产生DELETE语句。

当然你可以创建一个截断表的存储过程,然后从LINQ调用该过程,但这不是你真正想要的东西。

答案 1 :(得分:2)

您可以这样做:

yourDataContext.ExecuteCommand("TRUNCATE TABLE YourTable");