我想在 WPF 应用程序中使用 EF6 Code First 方法在我的应用程序文件夹中创建一个本地数据库。我曾尝试以不同的方式在 App.config 中配置连接字符串以实现我的目标,但都没有成功。有人能帮我吗?
如果我理解正确,您就成功创建了一个 LocalDB 数据库。但是您希望数据库位于应用程序可执行文件的文件夹中,而不是默认位置。那是对的吗?
您可能有一个类似于以下内容的连接字符串设置:
<add name="MyDatabase" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\MyDatabase.mdf" providerName="System.Data.SqlClient" />
重要的部分是AttachDBFilename属性。确保它以“|DataDirectory|”开头。
现在,在您的应用程序中的某个地方(我在 OnStartup 中这样做),您需要更改 DataDirectory 域属性的值。要将其更改为执行程序集所在的文件夹,请尝试以下操作:
AppDomain.CurrentDomain.SetData("DataDirectory", Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location));
这应该够了吧。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句