我有一个SqlCe数据库,我为另一个项目。现在我想将它用于Windows Phone项目。我的数据库结构是
我将我的数据库复制到我的项目文件夹中,并将其构建操作设置为“内容”,并将其复制到输出目录为“始终复制”。 在我的主页中我使用了这个:
private const string Con_String = @"isostore:/mydb.sdf";
public MainPage()
{
InitializeComponent();
IsolatedStorageFile iso = IsolatedStorageFile.GetUserStoreForApplication();
using (mTableDatabaseContext context = new mTableDatabaseContext(Con_String))
{
if (!context.DatabaseExists())
{
context.CreateDatabase();
}
if (!iso.FileExists("mydb.sdf"))
{
MoveReferenceDatabase();
}
}
}
public static void MoveReferenceDatabase()
{
IsolatedStorageFile iso = IsolatedStorageFile.GetUserStoreForApplication();
using (Stream input = Application.GetResourceStream(new Uri("mydb.sdf", UriKind.Relative)).Stream)
{
using (IsolatedStorageFileStream output = iso.CreateFile("mydb.sdf"))
{
byte[] readBuffer = new byte[4096];
int bytesRead = -1;
while ((bytesRead = input.Read(readBuffer, 0, readBuffer.Length)) > 0)
{
output.Write(readBuffer, 0, bytesRead);
}
}
}
}
和我的mTableDatabaseContext类是这样的:
public class mTableDatabaseContext:DataContext
{
public mTableDatabaseContext(string connectionString): base(connectionString)
{
}
public Table<dic> my_dics
{
get
{
return this.GetTable<dic>();
}
}
public Table<learn_table> my_learn_tables
{
get
{
return this.GetTable<learn_table>();
}
}
}
但我无法使用我的数据库和我的数据库副本不能执行??? 我该怎么办? 我怎样才能做到这一点??任何人都可以帮助我吗?
答案 0 :(得分:0)
你应该使用
private const string Con_String = @"Data Source=isostore:/mydb.sdf";
而不是
private const string Con_String = @"isostore:/mydb.sdf";