2012-08-23 25 views
0

我想存儲一個充滿屬性和字段的C#類。我怎樣才能該類存儲到SQL Server 2008中如何將.Net對象存儲到SQL Server中?

有人能幫助?

+3

嘗試查看此鏈接StackOverFlow http://stackoverflow.com/questions/1118296/c-how-would-you-store-arbitrary-對象在一個SQL服務器 – MethodMan

+0

試試這個 http://stackoverflow.com/questions/1299410/can-i-save-an-object-in-a-sql-server-database – user1619962

回答

5

有許多不同的方式,它取決於你想如何拍攝對象回來了一次。沒有進一步的信息,我們無法提供幫助。

  1. 您可以使用實體框架將對象映射到數據庫表。然後每個屬性將對應一個表列。
  2. 您可以序列化對象並將其存儲在數據庫表的單個列中 - 序列化爲xml,json或二進制blob。
3

它將對象表示爲模式的正確方式:表示對象及其對象圖的一個或多個相關表:屬性,子類型和引用類型。這使您可以將裝載的對象查詢爲SQL數據,並將其用於其他用途(例如,報告)。

或者,您可以序列對象實例。您可以通過[Serializable]屬性以聲明方式進行。您可以通過實現ISerializable接口來推出自己的接口,並將其序列化爲二進制,JSON或您選擇的其他表示形式。

您可以到/從XML通過使用XML序列化屬性或通過實施IXmlSerializable序列。

或者你可以忽略這種東西的內置支持和序列化自己的路。

一旦將其序列化爲Stream,您可以在適當類型(varbinary(max)varchar(max))的列中存儲,具體取決於其序列化方式。

第三個選擇是創建一個CLR user-defined type並安裝SQL Server中的組件。我不確定我會建議作爲「最佳做法」

相關問題