我意识到我错误地复制了我的模型名称(Requests
而不是Request
)。
该表当然是Requests
创建的,但为了保持一致性,我想将我的模型重命名为Request
,同时保留其他所有内容。
重命名后运行add-migration
将创建一个空迁移,但运行update-database
说
无法更新数据库以匹配当前模型,因为存在挂起的更改并且已禁用自动迁移。将挂起的模型更改写入基于代码的迁移或启用自动迁移。将DbMigrationsConfiguration.AutomaticMigrationsEnabled设置为true以启用自动迁移。 您可以使用Add-Migration命令将挂起的模型更改写入基于代码的迁移。
有快速的方法可以做我想要的吗?
答案 0 :(得分:2)
像这样创建一个Configuration类:
public class ChangedModelConfiguration : EntityTypeConfiguration<ChangedModelName>
{
public ChangedModelConfiguration()
{
ToTable("SameTableName", "YourSchemaName");
}
}
然后添加DbContext的派生类'OnModelCreating
方法
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new ChangedModelConfiguration());
}
或者
只需添加DbContext的派生类'OnModelCreating
方法
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<ChangedModelName>().ToTable("SameTableName", "YourSchemaName");
}
或
如果您更喜欢DataAnnotations,只需在模型顶部添加此属性,如下所示:
using System.ComponentModel.DataAnnotations.Schema;
[Table("YourSchemaName.SameTableName")]
public partial class ChangedModelName
{
// Model properties
}