【发布时间】:2016-08-03 17:53:11
【问题描述】:
我在 Windows 7 上使用 ServerStack.OrmLite 4.0。 我用 OrmLite 创建了一个表,并在 Sqlite 文件中插入了大约 100 行数据。 Db.Select() 的时间大约需要 1 分钟。当我将数据库更改为 mysql 时,它会立即返回结果。我还尝试使用另一个 GUI 软件访问 sqlite 数据库,并尝试执行一些 sql 语句,它们都运行良好。有人知道吗?
更新代码:
static void Main(string[] args)
{
string dbName = "testdb.sqlite";
var path = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
if (!System.IO.File.Exists(path + "/" + dbName))
{
System.IO.File.Create(path + "/" + dbName).Dispose();
}
var dbFacory = new OrmLiteConnectionFactory("Data Source=./testdb.sqlite;Version=3;UTF8Encoding=True;", SqliteDialect.Provider);
//var dbFacory = new OrmLiteConnectionFactory(":memory:", SqliteDialect.Provider);
var db = dbFacory.OpenDbConnection();
db.DropAndCreateTable<TestTable>();
db.DropAndCreateTable<BasicPersonnelInfo>();
Console.WriteLine("Starts at : {0}", DateTime.Now.Second);
for (int i = 0; i < 100; i++)
{
db.Insert<TestTable>(new TestTable { TestField = i.ToString()});
db.Insert<BasicPersonnelInfo>(new BasicPersonnelInfo { Test3 = i.ToString()});
}
Console.WriteLine("Inserting Completed;");
Console.WriteLine("Select at : {0}", DateTime.Now.Second);
db.Select<BasicPersonnelInfo>();
Console.WriteLine("Ends at : {0}", DateTime.Now.Second);
Console.WriteLine("Prese anykey to quit!");
Console.ReadKey();
}
【问题讨论】:
标签: c# sqlite servicestack