【发布时间】:2020-04-14 10:07:38
【问题描述】:
我正在使用 .NET Core WebApi 和 EF Core。
我有以下场景:
- 我有一个接受 CSV 文件的端点
- 此 CSV 文件包含超过 15.000 行
- 我需要解析这个 CSV 文件并将每一行存储在我的数据库中
- 在存储每一行之前,我需要检查其中的数据是否已经存在(如果它们作为独立实体存在,则需要检查每行 4-5 个值)
我的问题:
- 检查数据是否存在,需要很长时间(15.000 次 4-5 次检查...)
所以我想创建一些任务来将批处理存储在数据库中(但在 .NET Core WebApi 中)你不能运行后台任务,对吧?
你们将如何实现这一目标?
【问题讨论】:
-
您可以使用批量复制程序将数据上传到临时表中,然后将数据查询到相应的表中。这对于批量操作要快得多。
-
您看到文件变大了吗?当这从 15K 行变为 15M 行或 15B 行时会发生什么?如果是这种情况,使用 ETL 流程可能是更好的选择。
-
您进行检查的表有多大,您不能将其全部加载到内存中吗?至少 4-5 列..
-
@RajMore 这到底是什么意思(ETL)?
-
Here 是错误的一些线索
标签: .net entity-framework asp.net-core asp.net-web-api