将强类型列表插入Sql表

时间:2013-03-05 14:01:26

标签: tsql list strongly-typed-dataset

我试图找到一种将强类型List插入SQL表的不同方法。我想到的唯一方法是将List序列化为XML并将其作为XML类型的参数传递给SQL。

流程相当简单,工作正常,但我试图看到它有更好的替代解决方案吗?

1 个答案:

答案 0 :(得分:0)

为什么要将列表插入数据库表?我不确定你要做什么,但你当然可以将列表中的每个节点表示为数据库表中的一行。该表将包含类中每个字段的列,以及一个名为“ListRank”的额外列,用于存储节点在列表中的位置。如果您创建了linq-to-sql连接,那么您可以通过简单的查询轻松地从DB获取列表。

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上创建唯一性约束,这样您才能确保没有两个学生在列表中具有相同的列表排名/位置。