C# Windows Phone 8的本地数据库

C# Windows Phone 8的本地数据库,c#,windows-phone-8,linq-to-sql,sql-server-ce,isolatedstorage,C#,Windows Phone 8,Linq To Sql,Sql Server Ce,Isolatedstorage,我最近开始从事windows phone开发。我通过以下链接了解了如何在本地维护关系数据库: 程序对.sdf文件执行操作 我的问题是LINQ到SQL ORM是否默认使用SQL Server CE数据库 如果不是,则默认使用哪个数据库 隔离存储是否用作包含数据库文件的容器?SQL Server CE使用自己的方法将数据库存储在隔离存储中 如果要将SQL Server CE与linq一起使用,则需要将模型类定义为System.Data.linq.Table对象,该对象将放置在类型为System.Da

我最近开始从事windows phone开发。我通过以下链接了解了如何在本地维护关系数据库:

程序对
.sdf
文件执行操作

我的问题是LINQ到SQL ORM是否默认使用SQL Server CE数据库

如果不是,则默认使用哪个数据库


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

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();
公共类MyDataContext:DataContext { 私有静态MappingSource MappingSource=新属性MappingSource(); 公众餐桌上的人; 公众餐桌项目; //将连接字符串传递给基类。 public MyDataContext():base(“DataSource=isostore:/data.sdf”,mappingSource) { } ~MyDataContext() { 处置(虚假); } } MyDataContext db=新的MyDataContext(); //在这里做事 db.SubmitChanges();
是和是。(您也可以存储在安装文件夹中,但数据库是只读的)@ErikEJ.sdf文件是SQL CE数据库文件吗?是的-这里有一些学习链接:非常感谢@ErikEJ