我遇到了实体框架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