【发布时间】:2016-04-21 19:01:19
【问题描述】:
我正在开发 UWP 应用程序。
我有一个应该用大约 20,000 条记录初始化的数据库。记录,定义如下:
private static readonly ObservableCollection<TickRecord> TickRecords = new ObservableCollection<TickRecord>();
我尝试像这样一次插入一条记录:
private void CreateFakeTickRecords()
{
if ( Database.Database.CountTickRecords() > 0 )
{
return;
}
foreach ( var tickRecord in TickRecords )
{
Database.Database.AddOrUpdateTickRecord( tickRecord );
}
}
和
public static void AddOrUpdateTickRecord( TickRecord tickRecord )
{
// Create a new connection
using ( var db = new SQLiteConnection( new SQLitePlatformWinRT(), DbPath ) )
{
if ( tickRecord.Id == 0 )
{
// New
db.Insert( tickRecord );
}
else
{
// Update
db.Update( tickRecord );
}
}
}
这段代码运行良好,但是速度太慢了。
我想修改它,以便进行“批量插入”。
我该怎么做?
谢谢
【问题讨论】:
-
你不能只将带有初始数据集的 db 文件添加到应用程序包中,然后在首次使用时将其复制到存储中吗?
标签: c# sqlite win-universal-app