在C#中向SQLite数据库添加大量数据

Tho*_*mas 1 c# database sqlite windows-store-apps

我目前正在尝试使用C#和System.Data.SQLite将大量数据添加到Windows 8 App中的SQLite数据库中.我在列表中有所有对象(MediaItem),并且我使用foreach-loop将每个对象添加到数据库中.不幸的是,这很慢,所以我想知道是否有办法加快速度.我可以举例说明将完整列表移交给数据库吗?到目前为止,这是我的代码:

List<MediaItem> items;

// adding lots of onbjects to the list...

using (var db = new SQLiteConnection(dbPath))
{
     foreach (var item in items)
     {
         db.Insert(item);
     }
 }
Run Code Online (Sandbox Code Playgroud)

chu*_*e x 5

根据我的经验,将尽可能多的数据库调用包装到事务中可以加快速度:

using (var db = new SQLiteConnection(dbPath))
{
    db.RunInTransaction(() =>
    {
        foreach (var item in items)
        {
            db.Insert(item);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)