0

我有一个使用 SQLite 数据库的应用程序,我需要用户能够移动数据文件并将应用程序指向它移动到的位置。我使用实体框架来创建模型,默认情况下它将连接字符串放在 App.Config 文件中。从我读到的内容来看,如果我在那里更改连接字符串,那么它们在重新启动应用程序之前不会生效。这对我来说似乎有点笨拙。我知道如何初始化我的模型并传入自定义字符串,但我不确定在哪里存储诸如此类的基本用户偏好的最佳做法是什么?Ini,注册表,其他地方?我不希望用户每次都必须“打开”文件,只是当它重新定位然后应用程序将尝试从那时起自动打开。

4

3 回答 3

3

查看应用程序设置,了解如何创建可保存到 user.config 文件的用户特定配置设置的概述。注册表或多或少被放弃,取而代之的是新的基于 xml 的配置文件系统。

于 2010-03-24T20:17:58.137 回答
0

您不必使用添加到 App.Config 的连接字符串。您可以在 EDMX 向导中跳过实际添加它。

然后,您只需将连接字符串放在您选择的任何位置并将其传递给您的 ObjectContext 构造函数。

您可以将连接字符串放在外部文件、注册表或您选择的任何位置。

有一个静态类来生成连接字符串并从用户可以更改的公共源(即注册表、磁盘上的文件、环境变量等)获取文件位置可能是有意义的。

于 2010-03-24T20:19:14.013 回答
0

您可以创建一个设置类,然后在通过 app.config 文件设置的位置将其序列化为具有预定义名称的 xml 文件。然后,您可以自己控制将文件读入内存的频率。唯一需要重新启动应用程序的情况是设置文件的位置发生更改。

于 2010-03-24T20:21:48.003 回答