【发布时间】:2015-07-01 16:51:14
【问题描述】:
我正在开发一个 Windows Phone 8.1 应用程序 (WinRT),我想添加对 SQLite 的支持。我已将 SQLite for Windows Phone 扩展添加到项目中,还添加了 SQLite-WinRT 包装器。我还将构建配置更改为 x86,以便它可以在模拟器中运行。 我的问题是:当我尝试打开与数据库文件的连接(创建或打开)时,我得到一个 TypeLoadException。 我打开连接的代码是这样的:
using (var db = new SQLiteWinRT.Database(ApplicationData.Current.TemporaryFolder, "Database.db"))
{
await db.OpenAsync(SqliteOpenMode.OpenOrCreateReadWrite);
await db.ExecuteStatementAsync(@"create table if not exists MyTable ( ID integer not null primary key autoincrement, Name varchar(150) not null);");
await db.ExecuteStatementAsync(@"insert into MyTable (Name) values ('Rafael');");
}
当第一行执行时我得到这个错误:
这是我项目中的参考列表:
感谢任何帮助。谢谢大家。
【问题讨论】:
-
这很有趣,我也有 VS2013 Update 4。但是重新安装Windows和VS是不可行的。等待更新 5 也是不可行的,因为没有数据库代码,项目就无法前进。同样使用 SQLite-Net 等其他包装器对我也不利,因为它是一个 ORM,我必须创建映射到表的类,这对于我拥有的数据库关系来说不是一个好的解决方案。
标签: c# sqlite windows-runtime windows-phone-8.1