首页 > 解决方案 > 在 MVC 中将大量记录从视图传递到数据库

问题描述

所以我最近遇到了一个问题,即如何将大量记录(在这种情况下为百万)从用户输入(在视图中)最终插入到 MVC Web 应用程序中的数据库中。我给了2个选项:

  1. 我们可以传递 DataTable 格式的记录并运行一个循环调用一个方法,该方法又调用一个插入到表中的过程 - 被拒绝,因为这将花费很多时间
  2. 我们将数据分成一个插入友好的字符串,然后将其传递给一个方法,该方法对查询的一部分进行硬编码,然后将字符串附加到末尾,因此类似于
    “插入表 (c1,c2) 值" + string1 where string1 is "(1,1),(2,2)..." 这样即使我们不能将整个输入作为单个字符串传递,循环的遍历次数肯定会减少.

但是这些都没有被接受,所以知道什么是正确的正确答案吗?

标签: sqlasp.netasp.net-mvc

解决方案


根据我的观点,循环不是插入大量数据的好习惯。在这种情况下,您必须使用Stored Procedures. 存储过程非常适合插入大量数据。在这种情况下,您将制作Json您的数据并将其传递给程序。在过程中,您解析 json 并将其保存到数据库表中。希望你能理解。


推荐阅读