如何将List 插入数据库

如何在不迭代整个列表并将每个对象单独保存到数据库的情况下,一次将List保存在数据库中。

//So not like this solution foreach(T t in data){ //Call function to save with stored procedure Database.Save(t); } 

(也没有使用entity framework) (我似乎只在StackOverflow上获得基于entity framework或Dapper.Net的解决方案。)

通过以某种方式将列表发送到数据库并使用存储过程,这是否可行?


@Edit补充资料

我目前正在运行SQL 2012,并希望能够重新启动所有内容,如果有些东西不起作用!

如果您至少使用SQL Server 2008,则可以使用Table Valued参数执行此操作。 这个问题和答案涵盖了这个主题。

本质上,您在SQL中创建一个Type,然后在C#中创建一些内容,将您的数据转换为与给定类型匹配的IEnumerable

您可以使用Table Valued Parameter将集合传递给存储过程。 MSDN