我正在使用C#将发票的平面文件导入数据库.如果遇到问题,我正在使用TransactionScope回滚整个操作.
这是一个棘手的输入文件,因为一行不必等于一个记录.它还包括链接记录.发票将包含标题行,行项目,然后是总行.有些发票需要被跳过,但我可能不知道它需要被跳过,直到我达到总线.
一种策略是将标题,行项和总行存储在内存中,并在达到总行时保存所有内容.我现在正在追求这一点.
但是,我想知道它是否可以以不同的方式完成.在发票周围创建"嵌套"事务,插入标题行和行项目,然后在达到总行时更新发票.如果确定需要跳过发票,则此"嵌套"事务将回滚,但整个事务将继续.
这是可行的,实用的,你会如何设置?