【问题标题】:LightSwitch + MySQL error: Nested Transactions are not supportedLightSwitch + MySQL 错误:不支持嵌套事务
【发布时间】:2011-09-06 18:43:27
【问题描述】:

尝试连接并修改 MySQL 表中的现有数据。读取工作正常,但尝试保存更改时,出现以下错误。

在提供程序连接上启动事务时发生错误。有关详细信息,请参阅内部异常。 内部异常消息: 不支持嵌套事务。

使用 MySQL 连接器网络 6.4.3

回答

我找到了适合我的答案。将以下代码添加到数据源代码中

using System.Transactions;

namespace LightSwitchApplication
{
    public partial class <ChangeThisToYourClassName>
    {
        private TransactionScope tx;

        partial void SaveChanges_Executed()
        {
            tx.Complete();
        }

        partial void SaveChanges_Executing()
        {
            tx = new TransactionScope(TransactionScopeOption.Required, 
                  new TransactionOptions { 
                      IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted
                  });
        } 
    }
}

【问题讨论】:

标签: mysql visual-studio-lightswitch


【解决方案1】:

我可以确认该修补程序有效。我使用 mysql connector.net 6.4.4 版让 lightswitch 与 MySQL 一起工作。但是,当您建立连接并选择数据库时,您会收到以下错误:“提供程序没有返回 ProviderManifestToken 字符串。”

要解决此问题,请单击连接属性窗口上的高级选项卡。向下滚动到安全部分并为 Persist Security Info 选择 true。

这允许实体框架查询表。

我用这个创建了一个测试应用并发布到我的电脑上,我也可以进行完整的 crud 操作!

万岁。

附:嵌套事务的修补程序在这里:http://archive.msdn.microsoft.com/KB2534087

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-08
    • 1970-01-01
    相关资源
    最近更新 更多