如何将List插入数据库

本文关键字:插入 数据库 List | 更新日期: 2023-09-27 18:30:57

如何一次将列表保存在数据库中,而无需循环访问整个列表并将每个对象单独保存到数据库中。

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

(同样不使用实体框架) (我似乎只获得基于实体框架的解决方案或 StackOverflow 上的 Dapper.Net。

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


@Edit 附加信息

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

如何将List<T>插入数据库

如果您至少使用 SQL Server 2008,则可以使用表值参数来执行此操作。本问答涵盖了该主题。

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

可以使用

Table Valued Parameter将集合传递给存储过程。MSDN