【问题标题】:Local Database for Windows Phone 8Windows Phone 8 的本地数据库
【发布时间】:2015-02-23 09:52:13
【问题描述】:

我最近开始从事 windows phone 开发工作。我从这个链接中发现了如何在本地维护关系数据库:LINQ TO SQL

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

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

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

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

【问题讨论】:

  • 是的,是的。 (也可以存储在安装文件夹中,但是数据库是只读的)
  • @ErikEJ .sdf 文件是 SQL CE 数据库文件吗?
  • 是的 - 一些在这里学习的链接:erikej.blogspot.dk/2011/07/…
  • 非常感谢@ErikEJ

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


【解决方案1】:

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();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-27
    • 2013-01-20
    相关资源
    最近更新 更多