Windows Phone 8的本地数据库

时间:2015-02-23 09:52:14

标签: c# windows-phone-8 linq-to-sql sql-server-ce isolatedstorage

我最近开始从事Windows手机开发工作。我遇到过如何通过以下链接在本地维护关系数据库:LINQ TO SQL

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

我的问题是默认情况下LINQ TO SQL ORM是否使用SQL Server CE数据库?

如果没有,则默认使用哪个数据库?

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

1 个答案:

答案 0 :(得分:1)

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

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

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