Windows Phone 8 的本地数据库

Local Database for Windows Phone 8

我最近开始 windows phone 开发工作。我从这个 link 了解到如何在本地维护关系数据库:LINQ TO SQL

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

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

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

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

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

如果你想使用 SQL Server CE with linq,那么你需要将你的模型 classes 定义为一个 System.Data.Linq.Table 对象,它将被放置在一个 class 类型 System.Data.Linq.DataContext.

DataContext 上调用 SubmitChanges 会将上下文实例中的所有更改作为 SQL 服务器 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();