我想知道是否有办法对对象进行交易。我问这个问题是针对以下情况:
我们将对象传递给我们的数据访问层。在那里,我们使用 transactionscope 来确保数据库不会损坏。
在该过程中,可以更改对象(datechanged、所有者等...)。但是,如果事务失败,事务范围会回滚数据库中的事务,但不会回滚对象上的事务。
这样你的对象(通过引用传递)有点损坏。
我希望有一个解决方案。
我想知道是否有办法对对象进行交易。我问这个问题是针对以下情况:
我们将对象传递给我们的数据访问层。在那里,我们使用 transactionscope 来确保数据库不会损坏。
在该过程中,可以更改对象(datechanged、所有者等...)。但是,如果事务失败,事务范围会回滚数据库中的事务,但不会回滚对象上的事务。
这样你的对象(通过引用传递)有点损坏。
我希望有一个解决方案。
当您使用 TransactionScope 时,它会在回滚时明确告诉您(通过给您一个错误)。如果发生这种情况,您不应该继续处理您的对象,直到您从源头清除它。
这个 C# 对象的事务呢?
我真的怀疑你可以对你的类对象进行交易。也许您可以自定义代码以在另一个实例中维护状态并在您的回滚语句之后恢复它。
我你使用像 NHibernate 这样好的 OR-Mapper 而不是自定义数据层,这会照顾你