【问题标题】:Persisting Array into database [duplicate]将数组持久化到数据库中[重复]
【发布时间】:2014-02-17 08:06:02
【问题描述】:

在决定使用存储过程将数组/列表插入数据库(Sql Server 2008)的推荐方法时,我需要帮助。
显而易见的方法是为数组的每一行调用 sp。
但是必须有更好的方法通过网络仅通过列表/数组发送一次。
感谢您的帮助。

【问题讨论】:

    标签: sql sql-server sql-server-2008


    【解决方案1】:

    这里的最佳方法取决于您希望如何查询数据:

    • 如果您可能希望能够查询 List/Array 中每一行的各个方面,那么为每个 List/Array 项插入一个 Db 行是最好的方法。
    • 如果您不想查询列表/数组中的项目,而只想将其保存以用于审计目的,或者出于其他参考需求,您永远不需要检索除完整集合之外的任何内容,那么您可以将整个内容序列化为 JSON 并将其存储在一个键/值表中,其中值的类型为 nvarchar(max)。

    【讨论】:

      【解决方案2】:

      但必须有更好的方法来仅通过网络通过列表/数组发送 一次。

      假设您在参数中有数据,请使用结构化参数。 SP 可以接受表值参数。

      因此,这是......的副本

      Pass table valued parameter using ADO.Net

      这也有解决办法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-19
        • 1970-01-01
        • 2021-09-19
        • 2019-02-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多