Sql server 如何将复杂对象批量插入SQL Server数据库

Sql server 如何将复杂对象批量插入SQL Server数据库,sql-server,xml-parsing,io,entity-framework-5,query-optimization,Sql Server,Xml Parsing,Io,Entity Framework 5,Query Optimization,我有一个小项目,处理巨大的I/O数据、数据库插入和状态检查 我会解释我自己: 作为一项数据迁移任务,我必须每天在特定的时间读取数百个位于磁盘中的文本文件,其中包含特定的行格式,并将这些行转换为对象 稍后,我需要使用从Nuget包存储库下载的EF 6将读取内容存储在SQL Server中 不久前但是,在编写任何解决方案之前,我始终有一个疑问: 因为在这个过程中,我希望避免不必要的查询,要求记录存在,以避免重复,或者在某些批处理作业发生后,将它们保留到进一步消除 我有以下想法: 每次插入所有输入,并

我有一个小项目,处理巨大的I/O数据、数据库插入和状态检查

我会解释我自己:

作为一项数据迁移任务,我必须每天在特定的时间读取数百个位于磁盘中的文本文件,其中包含特定的行格式,并将这些行转换为对象

稍后,我需要使用从Nuget包存储库下载的EF 6将读取内容存储在SQL Server中 不久前但是,在编写任何解决方案之前,我始终有一个疑问:

因为在这个过程中,我希望避免不必要的查询,要求记录存在,以避免重复,或者在某些批处理作业发生后,将它们保留到进一步消除

我有以下想法:

每次插入所有输入,并作为sql或my app计划的任务定期删除重复项,或在每次插入时进行检查。考虑到每次都要检查数百条记录,而且每天都要检查


提前谢谢。

我通常采取两步走的方法

将文件中的记录解析为所需的形状。 将分割的记录插入辅助表。这张桌子通常是空的 具有“实表”的约束,并具有一些额外的列 保存验证标志。 一旦上传,启动一个存储过程,检查记录并用可能的无效原因对其进行注释。
然后您可以决定处理全部、部分或全部。您甚至可以将错误记录留到以后检查等,但主要是,您现在拥有了“基于集合的sql操作”的功能,而不是被折磨的行强迫进入rbar操作行。

您调查过SSI吗?我在哪里可以找到与SSI相关的内容?您可以通过谷歌搜索它并找到tons-谷歌搜索当前版本的sql Server-如sql 2008 R2 SSIS sql Server Integration Services。我每周使用SSIS导入非常大的XML文件,效果非常好。谢谢,我马上检查