首页 > 解决方案 > 实体框架创建一个空的迁移文件

问题描述

我在 Visual Studio 中创建了我的初始项目,并发现我在创建初始迁移后使用了 SQL Server。然后我将所有连接信息更改为使用MYSQL并成功连接。我再次创建了初始迁移,它创建了所有 ASP 安全表。我添加了一个新模型并更新了数据库,但它创建了一个空迁移(只是 UP/DOWN 方法)

我已经尝试了在这里和其他站点找到的多个修复程序。我退出了第二次迁移并重试。我尝试再次强制迁移(-f)。我删除了新的 MYSQL 数据库并删除了迁移,然后重新开始,结果都一样。

这是我的模型代码:

using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace congresssucks_conversion.Models
{
    public class BlogPost : DBContext
    {
        public int Id { get; set; }
        public string Title { get; set; }
        public string ShortPost { get; set; }
        public string Post { get; set; }
        public string Tags { get; set; }
        public DateTime Updated { get; set; }
    }
}

这是迁移文件:

namespace congresssucks_conversion.Migrations
{
    using System;
    using System.Data.Entity.Migrations;

    public partial class blogpost : DbMigration
    {
        public override void Up()
        {
        }

        public override void Down()
        {
        }
    }
}

它成功完成并且终端窗口中没有错误。

标签: asp.net-mvcentity-framework

解决方案


尝试从 _MigrationHistory 表中删除上次迁移的记录。可能在将新模型对象的 DbSet 添加到 DbContext 类之前,此记录已被错误地创建。删除后,使用正确的 Up() 和 Down() 方法创建了新的迁移。


推荐阅读