使用Entity Framework Core for MySQL生成我的表时,所有字符串属性都在MySQL中作为文本列创建
我正在使用:
<PackageReference Include="MySql.Data" Version="8.0.8-*" />
<PackageReference Include="MySql.Data.EntityFrameworkCore" Version="8.0.8-*" />
我正在尝试在.net中使用内置的身份验证,当我生成表时,我收到错误:
BLOB/TEXT column 'NormalizedEmail' used in key specification without a key length
我可以通过添加:
来解决这个问题builder.Entity<IdentityRole>().Property(i => i.NormalizedName)
.HasColumnType("varchar(256)");
但我不想为身份模型中的每一列执行此操作,也不希望我添加的列像FirstName一样存储为文本列。
这是EF Core for MySQL中的错误还是我的配置有误?
答案 0 :(得分:0)
感谢@Tseng推荐使用Pomelo。这是一个简单的开关,它解决了我所有的问题。