我正在开发一个项目,我需要在应用程序中存储各个区域的设置。这些设置不存储在app.config中,因为有一个管理员页面,管理员可以更改设置(客户端不希望在app.config中设置这些设置)
我试图实现一个静态类来全局访问设置,但我担心的是在静态类中使用dbcontext,因为我不认为它是最好的选择,我希望设置是强类型的现在一切都是字符串。
我不确定如何在数据库中访问我的appsettings表,并且仍然可以在整个应用程序中轻松调用,例如ConfigurationManager.AppSetting [“settingName”];
public static class AppManager
{
private static readonly IUnitOfWork UnitOfWork = new UnitOfWork(new DatabaseContext());
public static IEnumerable<AppSetting> GetAll()
{
return UnitOfWork.AppSettings.GetAll();
}
public static AppSetting Get(Guid id)
{
return UnitOfWork.AppSettings.Get(id);
}
public static string GetValue(string name)
{
return UnitOfWork.AppSettings.GetValue(name);
}
public static void Update(string name, string value)
{
var setting = UnitOfWork.AppSettings.Get(name);
if(setting == null) return;
setting.Value = value;
UnitOfWork.Complete();
}
}