5

我正在尝试为我在 MemSQL 中创建的 2 个超级简单表创建一个实体模型:

CREATE TABLE foo(id int primary key auto_increment, name varchar(20));
CREATE TABLE t(id int primary key auto_increment);

我正在使用实体框架 6.1.x。我安装了 MySQL 连接器,因为 MemSQL 是与 MySQL 兼容的二进制协议,在我的项目中添加了一个新的 ADO.NET 实体模型并逐步完成向导。遇到以下问题:

  1. 大多数情况下,向导在尝试查询表和视图列表时会超时。这样做可能是因为 MemSQL 集群在 Azure 中是远程的。明天我会尝试创建一个本地虚拟机集群,然后再试一次。
  2. 它确实成功读取表和视图列表的时间,我选择了两个表,然后让实体框架生成模型。我收到以下错误:

由于以下异常,无法生成模型:'System.Data.Entity.Core.EntityCommandExecutionException:执行命令定义时出错。有关详细信息,请参阅内部异常。---> MySql.Data.MySqlClient.MySqlException:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 47 行的 'LEFT(COLUMN_TYPE,10) = 'tinyint(1)', 'bool', IF (LEFT(COLUMN_TYPE,10)' 附近使用正确的语法

所以我很茫然。是否可以将实体框架与 MemSQL 一起使用?

4

1 回答 1

2

看起来实体框架正在使用 MemSQL 尚不支持的 LEFT 内置函数。它将在 2016 年初推出的 MemSQL 5 中得到支持。

于 2015-12-17T07:27:19.680 回答