移行を使用してデータベースを作成するために、MySQL で EF Code-First (EFCF) を使用しています。私が抱えている問題は、文字列にあります。
私は MySQL の専門家ではありませんが、これまで読んできた限りでは、MySQL では少なくとも 2 つの方法でテーブルで 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 移行はデフォルトで Unicode サポートなしでテーブルと列を作成し、それをオーバーライドしたり、モデルのプロパティに注釈を付けたりする方法を見つけることができず、基本的にオプション1または2のいずれかを使用するように強制しました。
この問題を修正するにはどうすればよいですか? できれば列ごとに設定したいのですが、必要に応じてテーブル全体のデフォルトを使用することをお勧めします。
何か役立つ場合は、EF 5.0、MySql.Data、および MySql.Data.Entity v 6.6.4.0 を使用しています。