EFコアの移行で間違ったラテンSQLエンコーディング

asp.net-core-1.0 c# entity-framework-core

質問

私はEF7でASP.NET Core 1.0プロジェクトを持っています。 SQLコマンドとラテン文字を使って移行を追加すると、 "?"に置き換えられます。データベースを更新するとき。

例を見てみましょう:

public partial class TestEncodingMigration : Migration
{
    protected override void Up(MigrationBuilder migrationBuilder)
    {
        migrationBuilder.Sql(@"some text with latin chars : á é í ñ");
    }

    protected override void Down(MigrationBuilder migrationBuilder)
    {
    }
}

そして、これは私がその移行から得たスクリプトです:

PM> dnx ef migrations script <some prev migration> -c MyDbContext

some text with accent: ? ? ? ?
;

GO

INSERT INTO [__EFMigrationsHistory] ([MigrationId], [ProductVersion])
VALUES (N'20160216162901_TestEncodingMigration', N'7.0.0-rc1-16348');

ご覧のとおり、すべてのラテン文字は「?」で置き換えられています。

受け入れられた回答

私も同じ問題があり、UTF-8エンコーディングで再度マイグレーションファイルを保存して解決しました。

アドイマイグレーションはANSIエンコーディングでファイルを作成するようです。

したがって、メモ帳でマイグレーション* .csを開き、ファイル→名前を付けて保存し、その下にEncodingをUTF-8に設定して上書きします。


人気のある回答

ここで議論されているように、それはRC1のバグであり、RC2で解決される予定です



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ