实现我自己的交易提供者的最佳选择

时间:2009-03-08 11:44:54

标签: c# .net database architecture transactions

我正在使用不支持交易的远程第三方存储解决方案。

我想在.NET中为此解决方案实现我自己的伪ACIDity,只需尝试重写/删除非失败的实体插入/更新,以便在其他插入/ /更新时获得旧的数据但良好的数据状态更新在事务上下文中失败。

以某种方式与System.Transactions命名空间集成是否有益或更容易(任何人都有恐怖或成功的故事吗?它与我想要做的一般想法是否兼容?)或者我应该创建自己的事务类和接口?

修改:我在MSDN上找到Implementing a Resource ManagerSystem.Transactions集成,这是要走的路吗?或者我应该只为这种模式建立一个自定义模型?

编辑:阅读Hibernate的docs,这正是我想要的模式。我应该只下载NHibernate并删除所有SQL代码或使用其基类和接口并实现我的自定义CRUD代码还是非常依赖于SQL?我发现自己几乎已经重写了一些方法以符合其文档。

2 个答案:

答案 0 :(得分:1)

;-)当我看到你的编辑时,我只是添加了这个链接。

我可能会首先探讨这个选项。只要有可扩展的框架,你就应该自己构建一个。

答案 1 :(得分:1)

您应该实现资源管理器,是的。获得System.Transaction支持不是一件小事。例如,它允许您的开发人员在同一工作单元中提交对资源以及Oracle的更新。如果您构建库以便它是资源管理器,那么您可以免费获得它。