Ef code first EF core,未检测到迁移定义的代码优先表重命名,Scafolder为空

Ef code first EF core,未检测到迁移定义的代码优先表重命名,Scafolder为空,ef-code-first,migration,entity-framework-core,Ef Code First,Migration,Entity Framework Core,当我在EF core中更改类名时,会得到空的迁移生成器 在旧的EFs中,它通常会自动生成重命名表的代码 但不在EF核心工作 public class EventComment : Comment { [Key] public int CommentID { get; set; } public int? ParentID { get; set; } public virtual EventComment Parent { get; set; } pub

当我在EF core中更改类名时,会得到空的迁移生成器

在旧的EFs中,它通常会自动生成重命名表的代码

但不在EF核心工作

public class EventComment : Comment
{
    [Key]
    public int CommentID { get; set; }

    public int? ParentID { get; set; }
    public virtual EventComment Parent { get; set; }

    public int EventID { get; set; }
    public virtual EventMaster EventMaster { get; set; }

}

public class Comment
{
    public string CommentTitle { get; set; }

    public string CommentDetails { get; set; }

    public int UpVoteCount { get; set; }
    public int DownVoteCount { get; set; }
    public int CommentEmotion { get; set; }

    public string CommentedByID { get; set; }
    public virtual ApplicationUser ApplicationUser { get; set; }
}
现在将EventComment更改为CommentMaster。迁移是空的

我使用fluentapi进行配置

        builder.Entity<EventComment>()
            .HasOne(e => e.EventMaster)
            .WithMany()
            .HasForeignKey(m => m.EventID);

        builder.Entity<EventComment>()
            .HasOne(e => e.ApplicationUser)
            .WithMany()
            .HasForeignKey(m => m.CommentedByID);

        builder.Entity<EventComment>()
            .HasOne(e => e.Parent)
            .WithMany()
            .HasForeignKey(x => x.ParentID);
builder.Entity()
.HasOne(e=>e.EventMaster)
.有很多
.HasForeignKey(m=>m.EventID);
builder.Entity()
.HasOne(e=>e.ApplicationUser)
.有很多
.HasForeignKey(m=>m.CommentedByID);
builder.Entity()
.HasOne(e=>e.Parent)
.有很多
.HasForeignKey(x=>x.ParentID);

这是因为EF核心默认表映射(突出显示是我的):

按照惯例,每个实体都将被设置为映射到一个与DbSet属性同名的表,DbSet属性在派生上下文中公开实体。如果给定实体未包含任何数据库集,则使用类名

我想这与之前的EF不同。重要的部分是,尽管重命名了实体类,但如果保留旧的
DbSet
属性名,表名将不会更改