1

尝试连接和修改 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
                  });
        } 
    }
}
4

1 回答 1

0

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

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

这允许实体框架查询表。

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

万岁。

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

于 2011-09-29T14:40:43.040 回答