为新表生成迁移

时间:2016-01-01 14:43:40

标签: c# entity-framework ef-migrations

我刚创建了一个包含我想创建的数据库结构的模型

namespace Ability.Models
{
    public class Skill
    {
        [key]
        public int ID { get; set; }
        public string SkillName { get; set; }

        public virtual List<Teacher> Teachers { get; set; }
    }

    public class Teacher
    {
        [key]
        public int ID { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string Email { get; set; }
        public string Campus { get; set; }

        public virtual List<Skill> Skills { get; set; }
    }

    public partial class AbilityDbContext : DbContext
    {
        public AbilityDbContext()
               : base("name= DefaultConnection")
        {
        }
        public virtual DbSet<Teacher> Teachers { get; set; }
        public virtual DbSet<Skill> Skills { get; set; }
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Entity<Teacher>()
            .HasMany(s => s.Skills)
            .WithMany(c => c.Teachers);
            base.OnModelCreating(modelBuilder);
        }
    }
}

但是我不知道如何为这些新表生成迁移。当我尝试使用Update-Database时,我认为它会给我一条消息,以便我可以使用Add-Migration,但它只是说

  

没有待定的显式迁移。

所以我的问题是,我如何让Entity框架为我工作并创建正确的迁移?

1 个答案:

答案 0 :(得分:0)

<img class="img-responsive" src="example.png" /> 菜单项下的visual studio中,在包管理器控制台中运行以下命令,以便进行迁移

Tools

此外,如果这些实体被添加为新的,那么您需要使用enable-migrations add-migration AddTeacher add-migration AddSkill update-database 属性来装饰它们,例如

Table
相关问题