Windows Phone 8 的本地数据库

Posted

技术标签:

【中文标题】Windows Phone 8 的本地数据库【英文标题】:Local Database for Windows Phone 8 【发布时间】:2015-02-23 09:52:13 【问题描述】:

我最近开始从事 windows phone 开发工作。我从这个链接中发现了如何在本地维护关系数据库:LINQ TO SQL

程序对.sdf文件执行操作。

我的问题是LINQ TO SQL ORM默认使用SQL Server CE数据库吗?

如果不是,那么它默认使用哪个数据库?

隔离存储是否用作包含数据库文件的容器?

【问题讨论】:

是的,是的。 (也可以存储在安装文件夹中,但是数据库是只读的) @ErikEJ .sdf 文件是 SQL CE 数据库文件吗? 是的 - 一些在这里学习的链接:erikej.blogspot.dk/2011/07/… 非常感谢@ErikEJ 【参考方案1】:

SQL Server CE 使用它自己的方法将数据库存储在独立存储中。

如果您想将 SQL Server CE 与 linq 一起使用,则需要将您的模型类定义为 System.Data.Linq.Table 对象,该对象将放置在 System.Data.Linq.DataContext 类型的类中。

DataContext 上调用SubmitChanges 会将上下文实例中的所有更改作为SQL Server CE 数据库自动推送到隔离的存储后端。

public class MyDataContext : DataContext

    private static MappingSource mappingSource = new AttributeMappingSource();

    public Table<Person> People;
    public Table<Item> Items;

    // pass the connection string to the base class.
    public MyDataContext() : base("DataSource=isostore:/data.sdf", mappingSource)
    
    

    ~MyDataContext()
    
        Dispose(false);
    


MyDataContext db = new MyDataContext();

// do stuff here

db.SubmitChanges();

【讨论】:

以上是关于Windows Phone 8 的本地数据库的主要内容,如果未能解决你的问题,请参考以下文章

Windows Phone 8 中的本地通知

如何在 Windows Phone 应用程序 8.1 rt 中安排本地通知?

是否可以在 Windows Phone 8.1 中本地化推送通知文本

Windows Phone 8 保存数据

Windows Phone 系列:本地 SQL Server Mobile/Compact 资料

在 Windows Phone 应用程序中使用应用程序数据和本地设置