我有一个使用SQLite数据库的应用程序,我需要能够让用户移动数据文件并将应用程序指向它移动到的位置。我使用Entity Framework来创建模型,默认情况下它将连接字符串放在App.Config文件中。根据我的内容,如果我对连接字符串进行了更改,那么在应用程序重新启动之前它们将不会生效。这似乎对我的使用有点笨拙。我知道如何初始化我的模型并传入一个自定义字符串,但我不确定在哪里存储基本用户权限这样的最佳实践是什么? Ini,Registry,在其他地方?我不希望用户每次都必须“打开”文件,就在它重新定位时,然后应用程序将尝试从那时开始自动打开。
答案 0 :(得分:3)
查看Application Settings,了解如何创建可以保存到user.config文件的用户特定配置设置的概述。注册表或多或少地被放弃,转而支持新的基于xml的配置文件系统。
答案 1 :(得分:0)
您不必使用添加到App.Config的连接字符串。您可以在EDMX向导中跳过实际添加它。
然后,您只需要在您选择的任何地方使用连接字符串,并将其传递给ObjectContext构造函数。
您可以将连接字符串放在外部文件,注册表或您选择的任何位置。
拥有一个生成连接字符串的静态类,并从用户可以更改的公共源(即注册表,磁盘上的文件,环境变量等)中获取文件位置可能是有意义的。
答案 2 :(得分:0)
您可以创建一个设置类,然后将其序列化为xml文件,该文件在通过app.config文件设置的位置具有预定义名称。然后,您可以控制文件自己读入内存的频率。如果设置文件的位置发生了变化,那么您需要重启应用程序的唯一时间。