比方說,你有各種任意類型的對象,你想存儲在一個鍵+值類型的表中。例如,密鑰可以是int,string或guid。價值是什麼?字符串,二進制或其他東西?C#:你會如何在SQL Server中存儲任意對象?
你將如何存儲和加載對象?我會想一些序列化,但是什麼樣的?
我目前所面對的一個解決方案,我用這兩種方法的類:
public T Get<T>(string key)
public void Set<T>(string key, T value)
在我有一個字符串列和二進制列一個表的數據庫。然後,我使用BinaryFormatter
對該值進行序列化和反序列化,並使用Linq2Sql將二進制結果放入數據庫表中。但這是一個很好的解決方案嗎?目前我只敢用整數和字符串這樣簡單的值來嘗試這個。一般而言,BinaryFormatter
和序列化如何與更復雜的類型(如結構和類)一起工作?特別是如果該值包含數組或列表等內容。
任何指針?
此刻我將使用它來存儲各種最後選定或鍵入等等類型的值。雖然它們可能不一定總是打字。例如,它可能是從列表中選擇值。主要的一點是,它們幾乎只是用戶的便利用品,所以不是非常重要的數據。
(並以「任何指針」我不是這個意思「我應該使用任何指針」) – Svish 2009-07-13 08:41:28
LOL。指針 - 可能是個好主意,具體。 – 2011-05-03 15:50:46