我正在尝试为我在MemSQL中创建的2个超级简单的表创建实体模型:
CREATE TABLE foo(id int primary key auto_increment, name varchar(20));
CREATE TABLE t(id int primary key auto_increment);
我正在使用Entity Framework 6.1.x。我安装了MySQL连接器,因为MemSQL与MySQL具有二进制协议兼容性,并在我的项目中添加了一个新的ADO.NET实体模型,然后按照向导操作。在进行如下问题时遇到了麻烦:
- 大部分时间,向导都会超时尝试查询表和视图列表。可能是因为MemSQL集群在Azure中远程运行。我明天将尝试创建本地vm集群,并再次尝试。
- 有时它确实成功读取了表和视图列表,我选择这两个表,然后让Entity Framework生成模型。我收到以下错误消息:
由于以下异常无法生成模型:'System.Data.Entity.Core.EntityCommandExecutionException:在执行命令定义时发生错误。有关详细信息,请参见内部异常。---> MySql.Data.MySqlClient.MySqlException:您的SQL语法存在错误;请检查与您的MySQL服务器版本相对应的手册以使用正确的语法,例如'LEFT (COLUMN_TYPE,10) =' tinyint(1) ',' bool ', 如果(左(COLUMN_TYPE,10)'位于第47行
所以我很困惑。是否可以使用Entity Framework来处理MemSQL?