我正在使用sql server ce数据库和C#,我想知道如何真正嵌入数据库文件,所以当我完成安装应用程序时,我不需要将数据库文件复制粘贴到环境中在以下代码中设置:
private void sambung()
{
string lokasifile = Environment.CurrentDirectory + "\\compactedition.sdf";
string stringkoneksi = "Data Source = \"" + lokasifile + "\";Password = 'blablabla'; Encrypt = True";
koneksi = new SqlCeConnection(stringkoneksi);
}
您有什么建议可以实现吗?感谢。
答案 0 :(得分:1)
如果将数据库复制到根目录或更高版本,则可以使用相对路径:
public static string GetLogicBinDebug()
{
string baseDir = AppDomain.CurrentDomain.BaseDirectory;
return Path.Combine(baseDir, @"..\..\database.sdf");
}
或者您可以使用相对路径在app.config中保留连接字符串:
<connectionStrings>
<add name="dbEDMContainer" connectionString="metadata=res://*/dbEDM.csdl|res://*/dbEDM.ssdl|res://*/dbEDM.msl;provider=System.Data.SqlServerCe.4.0;provider connection string="Data Source=|DataDirectory|\..\..\yourDB.sdf"" providerName="System.Data.EntityClient"/>
Data Source = | DataDirectory | \将指向“bin”文件夹
** 如果您询问如何将数据库文件复制到应用程序文件夹,则可以使用以下方法:
在Visual Studio中将数据库文件包含到项目中,打开文件属性和 将构建操作设置为“内容”, 复制到输出目录 - “复制如果更新”或“复制始终”