.NET C#插入SQLite>一批100万条记录

时间:2011-05-16 02:12:36

标签: c# sqlite

我试图从C#代码在SQLite数据库中插入超过100万个条目。如果我一个接一个地做,它需要永远。 insert语句与不同的参数相同。想知道是否有像Java PreparedStatement st.addBatch(sql)这样的东西。此外,我正在使用实体框架,所以想知道它是否有任何方式进行批量插入。如果没有,那么任何其他方式都可以,只要我能在合理的时间内完成。

我曾尝试使用似乎有效的交易,但想知道是否有其他正确的方法。在实体框架中也有这个对我来说是最好的。

这是我到目前为止的工作方式:

SQLiteCommand com = new SQLiteCommand("insert into Entrys(ID,KeyEntry,Password) values(@id,@key,@pass)", con);
com.Parameters.Add("@id", DbType.Int64);
com.Parameters.Add("@key", DbType.Int64);
com.Parameters.Add("@pass", DbType.Int64);
com.Prepare();
SQLiteTransaction tr = con.BeginTransaction();
com.Transaction = tr;

int limit = 1000000;
for(int i=1;i<limit;i++)
{
    com.Parameters[0].Value = 1;
    com.Parameters[1].Value = i;
    com.Parameters[2].Value = i;

    com.ExecuteNonQuery();
}

tr.Commit();
con.Close()

谢谢

0 个答案:

没有答案