【发布时间】:2017-02-14 08:17:44
【问题描述】:
亲爱的,
我有一些场景,我必须在 LightSwitch 的内部数据库上执行更新,并在 ONE TRANSACTION 中调用保存管道中的一些 SQL 存储过程,这样如果 LS 保存管道中发生错误,那么我的存储过程调用是回滚。
推荐的方法是在 SaveChanges_Executing 事件中设置环境事务,并在 SaveChanges_Executed 和 SaveChanges_ExecuteFailed 事件中处理它。如本文所述http://www.codemag.com/Article/1103071
但这有两个致命的问题:
- 当我在 Azure 上发布应用程序时它不起作用,因为那里不支持分布式事务。
- 当我尝试使用 ServerApplicationContext 保存对 ApplicationData 源的更改时,它也会引发错误。错误是这样的:EnlistTransaction 上的基础提供程序失败
有没有人找到一种更简洁的方法来处理 LightSwitch 中的事务,该方法既适用于 Azure,也适用于 ServerApplicationContext?
非常感谢
【问题讨论】:
标签: azure-sql-database visual-studio-lightswitch distributed-transactions lightswitch-2013 lightswitch-2012