我在 .NET 4.5 下运行 VS 2012 Desktop Express。通过 NuGet,我获得了 ServiceStack 和 ServiceStack.OrmLite.Sqlite64。然后,我使用位于http://code.google.com/p/servicestack/wiki/OrmLite的非常简单的示例来编写以下内容。
class Program {
static void Main(string[] args) {
OrmLiteConfig.DialectProvider = new SqliteOrmLiteDialectProvider();
using (IDbConnection db = @"C:\test.s3db".OpenDbConnection()) {
db.CreateTable<Example>(true);
db.Insert(new Example { Id = 1, Text = "An example" });
var items = db.Select<Example>();
items.ForEach(x => Console.WriteLine(x.Id + "\t" + x.Text));
}
}
}
public class Example {
public int Id { get; set; }
public string Text { get; set; }
}
上面的代码可以编译,但是我得到一个运行时异常,这似乎表明我使用的 System.Data.Sqlite 版本与编译 ServiceStack.OrmLite.SqliteNET 的版本不同。NuGet 提供给我的版本是 1.0.81.0,而运行时异常似乎正在寻找版本 1.0.65.0。
我是使用 NuGet 的新手,所以我可能做错了什么,但是我无法确定我做错了什么。协助将不胜感激。