C# 如何在不损失SQLITE+C性能的情况下插入多行
我的应用程序在第一次启动时需要插入221行,因此,我正在失去性能,因为我正在使用数组来插入它。例如 这样,我的性能损失很大,所以,我如何使用其他方法来修复它C# 如何在不损失SQLITE+C性能的情况下插入多行,c#,sqlite,windows-phone-8.1,C#,Sqlite,Windows Phone 8.1,我的应用程序在第一次启动时需要插入221行,因此,我正在失去性能,因为我正在使用数组来插入它。例如 这样,我的性能损失很大,所以,我如何使用其他方法来修复它 可以使用StringBuilder类和string.Format函数来构建sql语句,以便在foreach循环中插入值吗?好的,我将对此进行搜索。。您听说过RunInTransactionAsync吗?请将插入内容包装到事务中。只需在插入值之前发送一个开始查询,然后发送一个结束查询。@SplittyDev现在,我正在搜索该方法。。。RunI
可以使用StringBuilder类和string.Format函数来构建sql语句,以便在foreach循环中插入值吗?好的,我将对此进行搜索。。您听说过RunInTransactionAsync吗?请将插入内容包装到事务中。只需在插入值之前发送一个开始查询,然后发送一个结束查询。@SplittyDev现在,我正在搜索该方法。。。RunInTransactionAsync方法。。。但是我不知道如何使用。。。这个概念是。。。启动事务>插入值>结束事务?我将给您一个示例:开始;在某物中插入x,y值1,2。。。这里有更多的插入。。。;终止
private async Task insereHinos()
{
var local = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "hinos.sqlite");
SQLiteAsyncConnection con = new SQLiteAsyncConnection(local, SQLiteOpenFlags.Create | SQLiteOpenFlags.ReadWrite);
await con.CreateTableAsync<hinos>();
variaveis variavel = new variaveis();
for (var i = 0; i < 221; i++)
{
var hino = new hinos() { numHino = variavel.numeroHinos[i], favHino = variavel.favHinos, nomeHino = variavel.nomeHinos[i], catHino = variavel.categoriaHinos[i], letraHino = variavel.letraHinos[i] };
await con.InsertAsync(hino);
}
}