从xml加载数据

时间:2009-09-02 01:58:12

标签: c# xml linq-to-sql

在我的程序中,有两个类,比如类别和产品,每个产品对象都包含对它所属类别的引用。从XML加载数据并将其存储在数据库中时,会出现问题:

如果我创建一个类别对象并首先将其存储在数据库中,那么在创建产品失败时会出现脏数据。(我希望每个xml加载都是事务性的,因此如果用户因某些错误而失败,则数据库仍然像以前一样)。

如果我先创建产品,则不会为它们引用(由数据库生成的CategoryID)。我也可以先验证所有产品,但验证和对象创建中会有很多重复的代码。什么是最佳做法?

提前致谢!

1 个答案:

答案 0 :(得分:0)

您应该在数据库中使用transactions ,以便在第二个插入失败时回滚第一个插入。

在大多数数据库中,您可以使用

开始交易
START TRANSACTION

如果一切顺利,那就运行

COMMIT

如果出现问题,请运行

ROLLBACK

并且所有数据都会回到您开始交易之前的状态。