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

Sli*_*009 4 c# sql-server

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

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

(也没有使用实体框架)(我似乎只能在StackOverflow上获得基于实体框架或Dapper.Net的解决方案.)

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


@Edit补充资料

我目前正在运行SQL 2012,并且希望能够在某些内容不起作用的情况下重新注册所有内容!

Nik*_*nte 6

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

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