【问题标题】:Insert strongly typed list into Sql table将强类型列表插入 Sql 表
【发布时间】:2013-03-05 14:01:25
【问题描述】:
我正在尝试寻找一种不同的方式将强类型列表插入到 SQL 表中。我想到的唯一方法是将 List 序列化为 XML 并将其作为 XML 类型的参数传递给 SQL。
过程相当简单,而且效果很好,但我想看看有没有比这个解决方案更好的替代方案?
【问题讨论】:
标签:
tsql
list
strongly-typed-dataset
【解决方案1】:
为什么要将列表插入到数据库表中?我不确定您要做什么,但是您当然可以将列表中的每个节点表示为数据库表中的一行。该表将包含类中每个字段的列,以及一个名为“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 上创建唯一性约束,以便您可以确定没有两个学生在列表中具有相同的列表排名/位置。