[英]How to store data in a database in Windows Phone Runtime?
经过3天的搜寻,我现在放弃!
我想将数据存储在Windows Phone Runtime应用程序中的数据库中,但找不到合适的数据库解决方案。
我检查了SQLite-net
但它不支持类之间的简单关系。 因此,我无法在课程中定义项目列表。
然后,我安装了SQLite-net Extensions
作为该问题的解决方案。 但是它没有适用于Windows Phone Runtime
软件包。 它需要ISQLitePlatform
实现作为SQLiteConnection()
的参数,只有上帝知道在哪里可以找到正确的dll。
所以我的问题是,所有这些应用可用,它们使用什么数据库? 如何将数据存储在数据库中?
编辑
看来他们几个小时前解决了这个问题。 参见: https : //bitbucket.org/twincoders/sqlite-net-extensions/issue/27/error-while-adding-sqlite-net-extension-to
旧帖子
是。 你是对的。 默认情况下不包括此功能,您将必须自己做很多事情。 但是实现关系并不难:
// Query entity A
var AList = App.DB.Table<EntityA>().ToList();
if (AList == null || AList.Count == 0)
return;
// Get entity B for each item
foreach (EntityA ea in AList)
{
// I'm retreiving just a single element here.. of course you can easily pull a list here for one to many relationships..
var eb = App.DB.Table<EntityB>().Where(b => b.EntityAIndex == ea.DBId).FirstOrDefault();
if (eb == null)
continue;
ea.EntityB = eb;
}
但是SQLite是解决问题的方法,除非您不处理数百万条记录,否则从数据库中提取简单的关系将不会花费太多时间(我拥有3级关系,并且它们会被立即检索)。 您要做的就是在将对象添加到数据库时手动设置外键。 但这只是一行代码。
entityA.entityBId = entityB.DBId;
同样,编写代码以读取具有关系的实体也不是一件容易的事。 当然,您不需要手动编写任何内容,但这只是几行。
顺便说一句:我正在使用sqlite-net。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.