2011-09-06 49 views
1

嘗試連接並修改MySQL表中的現有數據。閱讀工作正常,但當試圖保存更改時,會發生以下錯誤。LightSwitch + 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 
        }); 
     } 
    } 
} 
+1

試試看看這個答案︰http://stackoverflow.com/questions/1306869/are-nested-transactions-allowed-in-mysql –

+0

This answer http:// stackoverflow .com/questions/7402946/lightswitch-does-not-allow-adding-or-modify-records-in-mysql提供了一個指向Microsoft修補程序的鏈接。 –

回答

0

我可以確認此修補程序的工作原理。我使用mysql connector.net版本6.4.4獲得了使用MySQL的lightswitch。但是,當您建立連接並選擇數據庫時,您會收到此錯誤:「提供程序沒有返回ProviderManifestToken字符串。」

要解決該問題,請單擊連接屬性窗口上的高級選項卡。向下滾動到安全部分併爲Persist Security Info選擇true。

這允許實體框架查詢表。

我創建了一個測試應用程序,併發布到我的電腦,我也可以做全crud操作!

Hooray。

P.S.嵌套事務的修補程序在這裏:http://archive.msdn.microsoft.com/KB2534087