实体框架代码 - 首先,MySQL和unicode支持

ser*_*ira 6 mysql entity-framework

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

我不是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迁移创建没有Unicode支持的表和列,我找不到覆盖它的方法或注释模型中的属性,基本上强制它使用选项12.

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

如果它有帮助,我使用EF 5.0,MySql.Data和MySql.Data.Entity v 6.6.4.0.