asp.net核心2显示指定的键太长;最大密钥长度为3072字节

问题描述 投票:0回答:1

我正在研究.net核心2.我使用mysql作为数据库。当我写下面的代码dbContext.Database.EnsureCreated();时,它产生了一个错误

MySql.Data.MySqlClient.MySqlException:'指定的密钥太长;最大密钥长度为3072字节'

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ApplicationDbContext dbContext)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            // ===== Create tables ======
            dbContext.Database.EnsureCreated();

            app.UseMvc();
        }

我能够成功生成roleclaims,角色,用户声明,用户。我正在使用applicationDbcontext,它正在扩展IdentityDbContext。

如何解决此错误。需要帮助,提前谢谢。

c# mysql asp.net-identity asp.net-core-2.0 asp.net-core-webapi
1个回答
0
投票

我也面临这个问题

  1. 打开命令提示符并转到项目位置,然后运行以下命令 dotnet ef迁移脚本-o initial.sql
  2. 它将生成sql,打开文件并使用VARCHAR(100)删除所有VARCHAR(767)

在sqlyog / workbench中运行sql,您将首先创建迁移,现在您可以继续工作了。

对于其余的迁移,请确保不要使主键varchar更长或使用int

谢谢

© www.soinside.com 2019 - 2024. All rights reserved.