运行 Mac OS 上的 Razor Pages Web 应用,Entity Framework 和 MySql

Run Razor Pages Web App on Mac OS with Entity Framework and MySql

我有一个 Razor Pages 网络应用程序,它是在 Window 10 的 Visual Studio 中创建的。该应用程序一切正常。

我现在想 运行 在 Mac 上执行此操作,因为我无法再访问 Windows 计算机。我已经设置了与 MySql 数据库的连接,并且连接似乎就在那里。

但是我收到以下错误消息

An unhandled exception occurred while processing the request.
MySqlException: Unknown column 'u.AccessFailedCount' in 'field list'
MySql.Data.MySqlClient.MySqlStream.ReadPacket()

我认为这可能是因为缺少表格等,但是我不确定如何 generate/build Mac 上的表格,通常 Entity Framework 会处理这个问题。

我可能(我认为)已经解决了我面临的问题,但我不确定这是否是最佳解决方案。我有以下 class 的 ApplicationDbContext

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
        : base(options)
    {
        this.Database.EnsureDeleted();
        this.Database.EnsureCreated();
    }

    protected override void OnModelCreating(ModelBuilder builder)
    {
        base.OnModelCreating(builder);
    }
}

添加以下两行

this.Database.EnsureDeleted();
this.Database.EnsureCreated();

和运行代码然后删除它们似乎解决了问题。