我有一个带有强大数据访问层的项目,使用LinqtoSQL几乎可以触及我们的数据库。我需要构建一个辅助类,它将一些常见的crud操作从CLSA对象桥接到LinqToSql。一切都在游泳,直到我需要在桌子上做截断,我所有的都是“删除”方法。
糟糕,快速搜索显示有些人正在使用YourContext.ExecuteCommand(),这很好,但我现在尽可能多地尝试“t-sql-less”。
是否有LINQ方式来执行truncate on a table?或者我只是clueless?
答案 0 :(得分:3)
如果不执行自定义T-SQL查询,则无法执行此操作。正如您可能已经知道的那样,执行.Delete()和SubmitChanges后会产生DELETE语句。
当然你可以创建一个截断表的存储过程,然后从LINQ调用该过程,但这不是你真正想要的东西。
答案 1 :(得分:2)
您可以这样做:
yourDataContext.ExecuteCommand("TRUNCATE TABLE YourTable");