【发布时间】:2021-02-20 22:07:50
【问题描述】:
我有一个 Windows 窗体应用程序,它通过 Visual Studio 集成了 LocalDB SQL 数据库,其中包含一个 RecipeDB.mdf 文件,该文件与应用程序的其余部分位于文件夹中。我也在使用 LINQ to SQL。我一切正常,我准备发布应用程序并为学校上交项目。
我遇到的一个问题是,由于某种原因,如果我在 App.Config 的连接字符串中使用 AttachDbFilename=|DataDirectory|\RecipeDatabase.mdf,它不会保存到数据库中。它要求我使用 C:\Users\Tania\source\repos\Old\HealthierRecipes\HealthierRecipes\RecipeDB.mdf 的完整路径。
在我创建项目时这很好,但它不适用于发布它。我需要该程序能够安装在人们想要的任何地方,并且能够找到它的数据库。
那么如何让它保存到正确的位置呢?有没有办法为 App.config 连接字符串创建一个变量并让人们将他们的路径放在一个文本文件中?或者有什么方法可以让数据库确认|DataDirectory|路径?
任何帮助将不胜感激。
【问题讨论】:
-
有一些方法可以在 ASP.Web 中保存额外的文件,我可以将其转换为 Winforms,但这并不能解决我的数据库不保存信息的问题。在 App.Config 中有完整路径,或者如果我找不到其他方法,如何让用户在 App.Config 中放置自己的路径。我对编程还是有些陌生,因此感谢您提供任何帮助。
-
默认文件夹与exe c#文件所在位置相同。
-
这能回答你的问题吗? what's the issue with AttachDbFilename
-
Charlieface - 在这种情况下,不,因为数据库应该是本地的并附加到应用程序。不过谢谢。
标签: c# sql visual-studio-2019 localdb