2013-03-05 86 views
1

我正試圖找到一種將強類型列表插入到SQL表中的不同方法。我想到的唯一方法是將List序列化爲XML,並將其作爲XML類型的參數傳遞給SQL。將強類型列表插入到Sql表中

過程相當簡單,它工作正常,但我試圖看到它有一個更好的替代解決方案?

+1

用戶定義類型可能是您在尋找http://technet.microsoft.com/en-us/library/ms131120.aspx。 – Paparazzi 2013-03-05 14:52:40

回答

0

爲什麼要插入一個列表到數據庫表中?我不確定你在做什麼,但是你肯定可以將你列表中的每個節點表示爲數據庫表中的一行。該表將爲您的類中的每個字段添加一列,並在列表中添加一個名爲「ListRank」的額外列,用於存儲節點的位置。如果你創建了一個linq-to-sql連接,那麼你可以用一個簡單的查詢輕鬆地從數據庫中獲取列表。

Dim myDB as Datacontext = new DataContext() 
Dim students as List(Of Student) = (From s as student in myDB.students select s order by s.listRank ascending).toList 
'//students now holds (Bob, A), (Sue, B) 

表看起來是這樣的:

Name  Grade ListRank 
======== ======== ========= 
    Bob  A  1 
    Sue  B  2 

* *您必須在數據庫中創建的ListRank唯一性約束,這樣你可以確信沒有兩個學生們列表中的相同列表等級/位置。