Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.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# 是否有任何方法可以将对象或列表传递给sql server存储过程?_C#_Asp.net_.net_Sql - Fatal编程技术网

C# 是否有任何方法可以将对象或列表传递给sql server存储过程?

C# 是否有任何方法可以将对象或列表传递给sql server存储过程?,c#,asp.net,.net,sql,C#,Asp.net,.net,Sql,我想将对象或列表传递给sql server存储过程。我的目的是通过存储过程一次插入多个记录 那么,有什么方法可以做到这一点吗?有很多方法,比如使用XML和List。但是如果您想进行批量插入,可以使用 您正在搜索表值参数。它允许您将只读表变量传递到存储过程中 你可以从博客中找到一个好的开始 这个老问题也对您有所帮助。您可以使用sqlParameter。 比如: 任意想要的参数param2、param3和end cmd.Parameter.add(param1) Execute the comman

我想将对象或列表传递给sql server存储过程。我的目的是通过存储过程一次插入多个记录


那么,有什么方法可以做到这一点吗?

有很多方法,比如使用XML和List。但是如果您想进行批量插入,可以使用


您正在搜索
表值参数
。它允许您将只读表变量传递到存储过程中

你可以从博客中找到一个好的开始

这个老问题也对您有所帮助。

您可以使用sqlParameter。 比如:

任意想要的参数param2、param3和end

cmd.Parameter.add(param1)
Execute the command

我相信在SQLServer2008和更高版本中,您可以将.Net数据表传递给存储过程

批量插入是一个很好的建议,只插入大量行,它比单次插入快得多


用于插入分层对象数据,例如父1有2个子记录,父2有3个子记录,父3有1个子记录。。。我过去曾使用XML序列化.Net中的对象结构,然后将其传递给SQLServer并分解成表。当然,如果您经常做类似的事情,那么最好使用Entity Framework或NHibernate等。

根据需要在转换xml后传递字符串数组或数据表。您使用的是哪个版本的SQLServer>?
cmd.Parameter.add(param1)
Execute the command