MySQLのEntity Framework Coreを使用してテーブルを生成すると、すべての文字列プロパティがMySQLのテキスト列として作成されます
使ってます:
<PackageReference Include="MySql.Data" Version="8.0.8-*" />
<PackageReference Include="MySql.Data.EntityFrameworkCore" Version="8.0.8-*" />
私は.netに組み込まれたID認証を使用しようとしていますが、テーブルを生成するとエラーが発生します:
BLOB/TEXT column "NormalizedEmail" used in key specification without a key length
以下を追加することでこれを回避できます。
builder.Entity<IdentityRole>().Property(i => i.NormalizedName)
.HasColumnType("varchar(256)");
しかし、「IDモデルのすべての列に対してこれを実行したくはありません。また、FirstNameのように追加する列がテキスト列として保存されることを本当に望んでいません。
これはEF Core for MySQLのバグですか、それとも設定が間違っていますか?
回答:
回答№1は0Pomeloの使用を推奨してくれた@Tsengに感謝します。それは簡単なスイッチで、私の問題をすべて解決しました。