C# Microsoft SQL Server数据库文件(SqlClient)可移植字符串

C# Microsoft SQL Server数据库文件(SqlClient)可移植字符串,c#,database,mdf,C#,Database,Mdf,我已经用C#构建了我的程序,问题是我对我的数据库使用了“Microsoft SQL Server数据库文件(SqlClient)”,我想让它可移植,因为如果我把所有的项目(sln)交给我的朋友运行,数据库路径当然是错误的 所以我的C项目目录中有database.mdf,所以我的问题是,你知道怎么做吗 我尝试了连接字符串的一些模式 Data Source=.\SQLEXPRESS;AttachDbFilename="D:\blabla\blablaa\blablaaa\blablaaaa\Wind

我已经用C#构建了我的程序,问题是我对我的数据库使用了“Microsoft SQL Server数据库文件(SqlClient)”,我想让它可移植,因为如果我把所有的项目(sln)交给我的朋友运行,数据库路径当然是错误的

所以我的C项目目录中有database.mdf,所以我的问题是,你知道怎么做吗

我尝试了连接字符串的一些模式

Data Source=.\SQLEXPRESS;AttachDbFilename="D:\blabla\blablaa\blablaaa\blablaaaa\WindowsFormsApplication2\WindowsFormsApplication2\WindowsFormsApplication2\WindowsFormsApplication2\Database1.mdf";Integrated Security=True;User Instance=True
所以我就这样做了

Data Source=.\SQLEXPRESS;AttachDbFilename="..\WindowsFormsApplication2\WindowsFormsApplication2\WindowsFormsApplication2\WindowsFormsApplication2\Database1.mdf";Integrated Security=True;User Instance=True


任何建议

例如,如果您想从记忆棒上运行它,并且您的应用程序正在记忆棒上运行,那么最好获取应用程序的当前位置:

Assembly.GetExecutionGassembly()位置


如果数据库文件的位置也被修复,那么您可以使用它来查找数据库文件的位置。

也许
|DataDirectory |
Data Source=.\SQLEXPRESS;AttachDbFilename="..\Database1.mdf";Integrated Security=True;User Instance=True