是否有一種簡單的方法將用戶設置存儲在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的發展(這是我從一個數據庫的存在和可用性假設),那麼這應該是十分容易實行。