我认为这是一个与架构和/或设计相关的问题:
我的场景是:
“
如何实现这一目标(无需逐行循环和比较)?
备注:
我的导出程序是.Net控制台应用程序。
我的Db是MS-SQL(如果您需要知道)
我的导出程序定期作为预定任务运行 - 在PowerShell脚本中运行
答案 0 :(得分:6)
听起来您只想生成每个CSV文件的校验和以进行比较 Calculate MD5 checksum for a file
using (var md5 = MD5.Create())
{
using (var stream = File.OpenRead(filename))
{
return md5.ComputeHash(stream);
}
}
答案 1 :(得分:1)
您可以让数据库跟踪上次修改的时间。只需在该表中添加触发器,无论何时添加/删除/更新任何项目,您都可以将特定值设置为当前时间。然后,您不需要首先比较大文件;您的导出作业可以简单地查询上次修改的时间,将其与文件系统上文件的上次修改时间进行比较,并确定是否需要更新它。