1

我最近开始致力于开发windows phone开发。我遇到过如何从此链接本地维护关系数据库:LINQ TO SQL适用于Windows Phone 8的本地数据库

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

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

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

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

+0

是的,是的。 (您也可以将其存储在安装文件夹中,但数据库是只读的) – ErikEJ 2015-02-23 10:15:35

+0

@ErikEJ .sdf文件是SQL CE数据库文件吗? – hcnimkar 2015-02-23 10:19:47

+0

是的 - 在这里学习的一些链接:http://erikej.blogspot.dk/2011/07/windows-phone-sql-server-compact.html – ErikEJ 2015-02-23 10:40:47

回答

1

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

如果要使用linq的SQL Server CE,则需要将模型类定义为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(); 
+0

我做了同样的事情。谢谢@瑞恩 – hcnimkar 2015-02-25 06:21:00