【发布时间】:2019-11-10 23:28:12
【问题描述】:
dapper 如何多次执行同一个命令?正如我在下面写的插入 sql,并使用列表参数调用 Dapper 的执行方法,所以我将插入 3 个对象。
问题:dapper 是往返 3 次到 Sql Server 以执行 3 次插入,还是以某种方式将其发送为 1 次往返以调用 3 次插入?
我只是想知道像这样使用它是否比仅使用 foreach 并逐个调用一个插入有任何优势,或者它是否完全相同。
Version 1.
var sqlInsert = $"INSERT INTO Book (Id, Title) Values (@Id, @Title)";
var parameters = new List<Book> { new Book("Damian Book", 123), new Book("XXX Book", 156), new Book("Zonk BOok", 167) };
connection.Execute(sqlInsert, parameters);
Version 2.
foreach (var book in parameters)
{
connection.Execute(sqlInsert, book)
}
version1和version2到底是一样的还是不一样?
【问题讨论】:
-
它将插入三次(三个往返)。 medium.com/dapper-net/multiple-executions-56c410e9f8ddgithub.com/StackExchange/Dapper/blob/…版本1和2基本一致。