我遇到了實體框架5.0的問題。我正在使用Silverlight 5和MySQL 5.6。實體框架:設置MySQL自定義環境變量
我需要每一個聯接到MySQL服務器之前設置環境變量的MySQL。
E.g
SET @my_var = '測試';
在mysql的,我沒有任何問題。
以下提出了EntityFrameworkException('@'附近的語法錯誤)。
this.ObjectContext.CreateQuery<object>(" SET @my_var = 'test' ");
OR
this.ObjectContext.CreateQuery<object>(" CALL set_my_var('test') ");
這最後的方法提出了一個個MySqlException說,一個DataReader已經打開,並且需要關閉。
this.ObjectContext.ExecuteStoreQuery<object>(" CALL set_my_var('test') ", null);
我也試圖與每一次相同的結果(無「@」)設置一個MySQL的系統環境。
任何幫助將不勝感激! 謝謝。
你好。 謝謝你的回答。 我也嘗試過這種方法,但MySQL引發了一個異常:「必須定義@my_var」。 我不知道如何逃避'@'字符。 我也試過使用存儲過程來設置這個變量。沒有例外。但似乎變量從未設置。 我應該在我的上下文中手動打開MySQL服務器的連接嗎? 我讀過這篇文章,實體框架根據需要打開和關閉連接多次:http://msdn.microsoft.com/en-us/library/vstudio/bb896325%28v=vs.100%29.aspx – Frank
您是否認爲執行此方法實體框架會爲此命令打開一個連接? 我試圖這樣做。我將連接指令添加到Initialize方法(overriden)中。 我試圖把這條指令放到我正在使用的「插入」方法中,但該變量不是。 目前沒有變化。 – Frank