我最近开始从事Windows手机开发工作。我遇到过如何通过以下链接在本地维护关系数据库:LINQ TO SQL
程序对.sdf
文件执行操作。
我的问题是默认情况下LINQ TO SQL ORM是否使用SQL Server CE数据库?
如果没有,则默认使用哪个数据库?
是用作包含数据库文件的容器的隔离存储吗?
答案 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();