我正在尝试更改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") { }
这样做的正确方法是什么?它甚至可能吗?
答案 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") { }