首页 > 解决方案 > 使用 Entity Framework 和 MySql 在 Mac OS 上运行 Razor Pages Web App

问题描述

我有一个在 Window 10 上的 Visual Studio 中创建的 Razor Pages Web 应用程序。该应用程序一切正常。

我现在想在 Mac 上运行它,因为我不再可以访问 Windows 机器。我已经设置了与 MySql 数据库的连接,并且连接似乎在那里。

但是我收到以下错误消息

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

我认为这可能是由于缺少表等,但是我不确定如何在 Mac 上生成/构建表,因为通常实体框架会处理这个问题。

标签: mysqlentity-frameworkrazor-pagesvisual-studio-mac

解决方案


我可能(我认为)已经解决了我面临的问题,但是我不确定这是否是最好的解决方案。我有 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);
    }
}

添加下面的2行

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

并运行代码然后删除它们似乎可以解决问题。


推荐阅读