在WP8中更改DataContext数据库文件的目录

时间:2014-05-21 07:33:46

标签: windows-phone-8 linq-to-sql

我正在尝试更改Windows Phone 8应用程序中数据库文件的位置。

默认构造函数将其放在根隔离的存储目录中:/MyDbFile.sdf/

public MyDataContext() : base("Data Source=isostore:/MyDbFile.sdf") { }

我的目标是将其放入/db/MyDbFile.sdf

我尝试过(是的,我知道其中一些是愚蠢的):

public MyDataContext() : base("Data Source=isostore:/db/MyDbFile.sdf") { }
public MyDataContext() : base("Data Source=isostore:/db\\MyDbFile.sdf") { }
public MyDataContext() : base("Data Source=isostore:\\db/MyDbFile.sdf") { }
public MyDataContext() : base("Data Source=isostore:\\/db/MyDbFile.sdf") { }
public MyDataContext() : base("Data Source=isostore:/db//MyDbFile.sdf") { }
public MyDataContext() : base("Data Source=isostore:/db\\/MyDbFile.sdf") { }

这样做的正确方法是什么?它甚至可能吗?

1 个答案:

答案 0 :(得分:2)

在写完这个问题后立即想出来。您必须先创建目标目录。

using (var iso = IsolatedStorageFile.GetUserStoreForApplication())
{
    if (!iso.DirectoryExists("db"))
    {
        iso.CreateDirectory("db");
    }
}
_MyDataContext = new MyDataContext();

之后它适用于:

public MyDataContext() : base("Data Source=isostore:/db/MyDbFile.sdf") { }