是否有一种简单的方法将用户设置存储在sql 2000数据库中。理想情况下,在一个字段中的所有设置,所以我不必每次添加设置时都不得不编辑表格。如果任何人有一个例子,我正在考虑序列化一个设置类。c#在数据库中存储用户设置
的原因,我不希望使用内置的存储在持久性存储.NET用户设置为工作采用超强制配置文件,以便在一个用户注销设置清除这是一种痛苦。我之前发布过要求提供任何解决方案,但没有得到太多回复。
是否有一种简单的方法将用户设置存储在sql 2000数据库中。理想情况下,在一个字段中的所有设置,所以我不必每次添加设置时都不得不编辑表格。如果任何人有一个例子,我正在考虑序列化一个设置类。c#在数据库中存储用户设置
的原因,我不希望使用内置的存储在持久性存储.NET用户设置为工作采用超强制配置文件,以便在一个用户注销设置清除这是一种痛苦。我之前发布过要求提供任何解决方案,但没有得到太多回复。
的VS设计师保持在ApplicationSettingsBase类属性设置。默认情况下,这些属性被序列化/反序列化为每个用户的XML文件。您可以使用自定义SettingsProvider覆盖此行为,您可以在其中添加数据库功能。只需添加SettingsProvider
属性的VS产生Settings
类:
[SettingsProvider(typeof(CustomSettingsProvider))]
internal sealed partial class Settings {
...
}
这方面的一个很好的例子是RegistrySettingsProvider。
我回答了另一个类似的问题同样的方式here。
你可以很容易地在C#中序列化类:http://www.google.com/search?q=c%23+serializer。您可以将XML存储在varchar字段中,或者如果要使用二进制序列化程序,则可以将其存储在“Image”数据类型中,这实际上只是二进制。
你可以序列化到数据库中,或者您可以创建一个包含名称 - 值对,并通过用户ID键入用户设置表。这样做的好处是通过RDMS工具更容易查询和更新。
首先你需要你的餐桌。
create table user_settings
(
user_id nvarchar(256) not null,
keyword nvarchar(64) not null,
constraint PK_user_settings primary key (user_id, keyword),
value nvarchar(max) not null
)
然后你就可以建立自己的API:
public string GetUserSetting(string keyword, string defaultValue);
public void SetUserSetting(string keyword, string value);
如果你已经做CRUD的发展(这是我从一个数据库的存在和可用性假设),那么这应该是十分容易实行。