6

我正在使用 EF Code-First (EFCF) 和 MySQL 来使用迁移创建我的数据库。我遇到的问题是字符列。

我不是 MySQL 专家,但根据我一直在阅读的内容,在 MySQL 中,您至少可以通过两种方式在表中支持 Unicode:

  1. 将其设为整个表的默认值:CREATE TABLE mytable (...) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_unicode_ci;

  2. 使每个特定列支持 Unicode:(CREATE TABLE myTable (col1 VARCHAR(10) CHARSET utf8, OtherColNotUnicode VARCHAR(5), ...);注意 MySQL 没有 NVARCHAR)

事实证明,EFCF Migrations 默认情况下创建不支持 Unicode 的表和列,我无法找到一种方法来覆盖它或在我的模型中注释属性,基本上迫使它使用选项12

我该如何纠正这个问题?最好我想逐列设置它,但如有必要,我可能会使用整个表默认值。

如果它有任何帮助,我正在使用 EF 5.0、MySql.Data 和 MySql.Data.Entity v 6.6.4.0。

4

0 回答 0