【发布时间】:2010-05-08 16:21:37
【问题描述】:
我正在使用 C# 将发票的平面文件导入数据库。如果遇到问题,我正在使用 TransactionScope 回滚整个操作。
这是一个棘手的输入文件,因为一行不一定等于一条记录。它还包括链接的记录。发票将具有标题行、行项目,然后是总计行。有些发票需要跳过,但在我到达总行之前我可能不知道需要跳过它。
一种策略是将标题、行项目和总行存储在内存中,并在达到总行后保存所有内容。我现在正在追求。
但是,我想知道是否可以以不同的方式完成。在发票周围创建一个“嵌套”交易,插入标题行和行项目,然后在达到总行时更新发票。如果确定需要跳过发票,则此“嵌套”事务将回滚,但整个事务将继续。
这是否可行、实用,您将如何设置?
【问题讨论】:
标签: .net sql-server transactions