Вы можете использовать команду типа «НАЧАЛО ТРАНЗАКЦИИ»;
Этот код является одним из модульных тестов проекта SQLitePCL:
using (var connection = new SQLiteConnection(this.databaseRelativePath))
{
using (var statement = connection.Prepare("DROP TABLE IF EXISTS TestQuery;"))
{
statement.Step();
}
using (var statement = connection.Prepare("CREATE TABLE TestQuery(id INTEGER, i INTEGER, t TEXT, r REAL);"))
{
statement.Step();
}
var beginTransactionCommand = "BEGIN TRANSACTION";
using (var statement = connection.Prepare(beginTransactionCommand))
{
statement.Step();
}
foreach (var record in insertedRecords)
{
var command = "INSERT INTO TestQuery(id, i, t, r) VALUES(" + record.Item1.ToString(this.invClt) + "," + record.Item2.ToString(this.invClt)
+ ",'" + record.Item3 + "'," + record.Item4.ToString(this.invClt) + ");";
using (var statement = connection.Prepare(command))
{
statement.Step();
}
}
var commitTransactionCommand = "COMMIT TRANSACTION";
using (var statement = connection.Prepare(commitTransactionCommand))
{
statement.Step();
}
}