C# 不使用存储过程的重载SQL插入(SqlBulkCopy替代)

C# 不使用存储过程的重载SQL插入(SqlBulkCopy替代),c#,sql-server,performance,table-valued-parameters,C#,Sql Server,Performance,Table Valued Parameters,当我开始测试SqlBulkCopy时,这是避免 从C#到SQL server生成的插入循环的多次往返/ 但是我发现了用户定义的表类型表值参数 ,这是一种更快的方法,但在没有存储过程的情况下工作时, 无论是在服务器上创建了非SP对象,还是在使用不支持存储过程的SQL CE时,表值参数是否是最佳选项,您能否在不使用存储过程的情况下实现一个DbStuctured类型的SQL参数,这是否是更改具有大量记录(>10000)的数据库的最快方法 使用tmp表和XML有一种更快的方法,但我知道您不想使用存储过程

当我开始测试
SqlBulkCopy
时,这是避免 从C#到SQL server生成的插入循环的多次往返/ 但是我发现了用户定义的表类型
表值参数
,这是一种更快的方法,但在没有存储过程的情况下工作时, 无论是在服务器上创建了非SP对象,还是在使用不支持存储过程的
SQL CE
时,
表值参数
是否是最佳选项,您能否在不使用存储过程的情况下实现一个
DbStuctured
类型的SQL参数,这是否是更改具有大量记录(>10000)的数据库的最快方法


使用tmp表和XML有一种更快的方法,但我知道您不想使用存储过程。。您不想或不能使用存储过程有什么原因吗?@MethodMan没有,只是在使用本地数据库时,或者在没有存储过程的情况下(计划使用独立的应用程序版本),使用tmp表和XML有一种更快的方法,但我知道您不想使用存储过程。。是否有您不想或不能使用存储过程的原因。@MethodMan否,仅在使用本地数据库时,或者没有存储过程的原因(计划使用独立应用程序版本)
select * from @DbStructuredPar into @TargetTableStr