我有一个ASP.NET MVC EF代码第一个项目。我复制了它并从中制作了另一个项目。我没有更改任何名称空间或项目名称。我复制了现有数据库,并使用其他名称进行了复制。代码优先迁移在原始项目中可以正常工作。在新复制的项目中,它们仅对现有模型进行更改,例如添加新字段或更改字段名称。如果我尝试添加新的模型类,则Add-Migration
不会接受该更改。
我尝试过this,但没有成功。我尝试了this,但没有成功。
我尝试删除迁移历史记录文件夹和dbo._MigrationHistory表数据,并使用Enable-Migrations
重新创建迁移。我试图删除迁移文件夹中的现有迁移,并使用Add-Migration Initial -IgnoreChanges
然后使用update-database
创建另一个初始迁移。然后添加我的更改。这些都不起作用。
答案 0 :(得分:1)
您将需要运行 Enable-Migrations –EnableAutomaticMigrations 。
现在说您需要先向数据库代码中添加 Address 表:
创建新模型地址
创建您的配置文件
class AddressConfiguration : EntityTypeConfiguration<Address>
{
public AddressConfiguration()
: base()
{
HasKey(p => p.AddressId);
ToTable("Address");
}
}
在主XYZContext.cs文件中添加DbSet和modelBuilder数据
DbSet
public DbSet<Address> Address {get; set;}
modelBuilder
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new AddressConfiguration());
}
通过Visual Studio的Package Manager控制台运行update-database,确保从下拉列表中选择了正确的项目,这很可能是一个名为项目的.Repository。
您的新表现在应该已存在于数据库中。