Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否可以使用Dapper截断一个表或多个表?_C#_Sql Server_Tsql_Dapper - Fatal编程技术网

C# 是否可以使用Dapper截断一个表或多个表?

C# 是否可以使用Dapper截断一个表或多个表?,c#,sql-server,tsql,dapper,C#,Sql Server,Tsql,Dapper,我想知道是否可以使用Dapper运行TSQL查询,比如Truncate Table x 我所尝试的: using (var con = DB.Connection) { con.Open(); var ret = con.Execute("Truncate Table [Y].[X]"); } 另外,我不想为其创建SP 您似乎认为返回-1表示存在问题。但根据截断: 从表或表的指定分区中删除所有行,而不记录单个行的删除 和Dapper的Execute方法 所以-1在我看来是合理的

我想知道是否可以使用Dapper运行TSQL查询,比如
Truncate Table x

我所尝试的:

using (var con = DB.Connection)
{
    con.Open();
    var ret = con.Execute("Truncate Table [Y].[X]");
}

另外,我不想为其创建SP

您似乎认为返回-1表示存在问题。但根据截断:

从表或表的指定分区中删除所有行,而不记录单个行的删除

和Dapper的
Execute
方法

所以-1在我看来是合理的

编辑以添加

在进一步研究GitHub中的源代码之后,Dapper的
Execute
扩展在引擎盖下调用SqlMapper的ExecuteImpl,该扩展(由于其调用方式只能有两种方式;但基本上都有)最终返回IDbCommand的
ExecuteOnQuery
的结果。因此,有了这一块拼图,Martin Smith的信息适用于:

对于UPDATE、INSERT和DELETE语句,返回值是受命令影响的行数。对于所有其他类型的语句,返回值为-1


当你尝试这个的时候发生了什么?失败了吗?如果是,怎么做?@Mureinik,当我执行它时。结果是-1我不知道什么是“整洁”,但truncate table是通过一个简单的查询完成的,可以由任何外部应用程序执行。SSM与您开发的任何应用程序之间没有区别。与您可以使用SSM执行相同,您可以使用“SQL Server Operation Studio”或您开发的任何应用程序执行。。。。只要你有许可