在我的应用程序中,我想在我的SQLite-DB中清除/清空一个表(这是唯一一个)。 我用C#编程。 _session的类型为NHibernate.ISession。这是我的代码:
string queryFmt =“FROM {0}”;
string query = String.Format(queryFmt,typeName);
_session.Delete(查询);
_session.Flush();
我的example-DB包含超过5000个条目(s3db文件大约750KB)。 Flush() - 方法需要超过6分钟。 (当我在SQLite管理员中执行删除操作时,只需不到一秒钟。)
如何更快地清空表格?
答案 0 :(得分:2)
在hql查询上使用ExecuteUpdate 这是一个例子:
using(var session = sessionFactory.OpenSession())
{
String hqlDelete = string.Format("delete {0} t",typename);
int deletedEntities = session.CreateQuery( hqlDelete ).ExecuteUpdate();
session.Close();
}
答案 1 :(得分:0)