我想将对象或列表传递给 sql server 存储过程。我的目的是通过存储过程一次插入多条记录。
那么,有什么办法可以做到吗?
您可以使用 sqlParameter。喜欢:
SqlParameter param1 = new Sqlparameter(SPVariablename , ValueofVariablewhichYouWantToPass)
任何你想要的参数 param2, param3 和最后
cmd.Parameter.add(param1)
Execute the command
有多种方式,例如使用 XML 和 List。但是如果你想做批量插入,你可以使用
我相信在 SQLServer 2008 及更高版本中,您可以将强类型的 DataTable 参数传递给您的存储过程,您可以将 .Net DataTable 传递给该参数。
BULK INSERT 是只插入大量行的好建议,它比单次插入要快得多。
用于插入分层对象数据,例如父 1 有 2 个子记录,父 2 有 3 个子记录,父 3 有 1 个子记录...我过去曾使用 XML 在传递给 SQLServer 和粉碎之前在 .Net 中序列化对象结构把它放到桌子上。当然,如果你经常做这样的事情,你可能会更好地使用实体框架或 NHibernate 等......