保存LINQ-to-SQL事务以便以后重新运行?

时间:2010-03-11 11:31:12

标签: c# .net sql-server linq-to-sql

我写了一个用于配置我们平台的应用程序。我们当前的流程是在暂存环境中进行配置更改,当它们获得批准时,在生产环境中进行相同的更改。

此过程中存在错误的余地,因为存在用户可能错误地改变未在分段中批准的生产的风险。如果用户不小心,可以很容易地点击错误的按钮或从列表中选择错误的选项。

我一直在想,如果我们能够保存所有将登台环境置于当前已批准状态的LINQ-to-SQL操作,并在生产环境中重新运行这些已保存的操作,那么这种风险将得到缓解手动进行相同的更改。

我想我想问的是,是否有任何方法可以“编写”我的LINQ-to-SQL执行的插入/更新/删除?

这是一个现实主意吗?如果没有,有人可以建议采用不同的方法解决这个问题吗?

由于

戴夫

2 个答案:

答案 0 :(得分:1)

在DataContext上设置Log属性以查看呈现的SQL。快速搜索会显示这个有趣的页面:

http://www.u2u.info/Blogs/Kris/Lists/Posts/Post.aspx?ID=11

答案 1 :(得分:1)

鉴于您的 真正的 问题(即将配置从暂存转移到生产)我认为更好的解决方案是开发一种获取/应用配置快照的机制'而不是记录和应用产生所需配置的动作。

您的解决方案(从数据上下文中记录查询)具有以下缺点:

  • 它取决于初始配置状态(如果您的生产配置与开始记录操作时的暂存配置不同,则会遇到问题)
  • 你正在处理一系列行动(可能相当复杂),而你实际上对这些行动的结果感兴趣 - 所以最好保存最终结果