我正在使用 EF Code-First (EFCF) 和 MySQL 来使用迁移创建我的数据库。我遇到的问题是字符列。
我不是 MySQL 专家,但根据我一直在阅读的内容,在 MySQL 中,您至少可以通过两种方式在表中支持 Unicode:
将其设为整个表的默认值:
CREATE TABLE mytable (...) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_unicode_ci;
使每个特定列支持 Unicode:(
CREATE TABLE myTable (col1 VARCHAR(10) CHARSET utf8, OtherColNotUnicode VARCHAR(5), ...);
注意 MySQL 没有 NVARCHAR)
事实证明,EFCF Migrations 默认情况下创建不支持 Unicode 的表和列,我无法找到一种方法来覆盖它或在我的模型中注释属性,基本上迫使它使用选项1或2。
我该如何纠正这个问题?最好我想逐列设置它,但如有必要,我可能会使用整个表默认值。
如果它有任何帮助,我正在使用 EF 5.0、MySql.Data 和 MySql.Data.Entity v 6.6.4.0。