添加迁移不会在Up方法中添加表创建脚本

时间:2018-05-30 07:15:03

标签: c# asp.net entity-framework

我正在尝试向我的数据库添加一个新表,我在实体中编写了下面的类。

namespace EconomyEnergy.Data.Entities
{
    public class AccountEmailMapping
    {
        [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int Id { get; set; }

        public string AccountNumber { get; set; }

        public int AccountId { get; set; }

        [ForeignKey("AccountId")]
        public Account AccountObj { get; set; }

        public string Email { get; set; }
    }
}

然后我添加了迁移,但up方法不包含任何表创建脚本。

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

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

        public override void Down()
        {
        }
    }
}

我是新手代码,有人可以解释我犯错误的地方。 几天前我试图添加一张桌子,我能够成功地做到这一点。

任何帮助都会很明显。

1 个答案:

答案 0 :(得分:1)

我将写下如何进行迁移。这将向您展示执行流程。

在我的"数据库环境中"我将新数据(整个表格或新的颜色)添加到模型构建器中,如下所示:

modelBuilder.Entity<Language>(entity =>
        {
            entity.ToTable("language", "common");

            entity.Property(e => e.Id)
                .HasColumnName("id")
                .ValueGeneratedOnAdd();

            entity.Property(e => e.Code)
                .IsRequired()
                .HasColumnName("code");

            entity.Property(e => e.Name)
                .IsRequired()
                .HasColumnName("name")
                .HasColumnType("varchar");
        });

然后你在你的控制台写(数据包管理器控制台也可以):

Add-Migration <insert migration name here>

Add-Migration documentation

这将自动为您创建迁移文件。

然后输入PM控制台。

Update-Database

将导致在数据库上进行迁移。