实体框架代码优先迁移类无法正常运行

时间:2019-08-14 07:05:30

标签: asp.net c#-4.0

我正在使用带有实体框架的ASP.NET MVC 5构建应用程序。我最近了解了可以在应用程序中为数据库实现的EF Code-First Migrations工具。我在PM控制台中运行了“ Enable-Migration”,它成功启用并按预期方式创建了“ InitialModel.cs”类,并在表创建中填充了适当的up()和down()方法。

然后,我继续添加具有其他简单属性(GigId,AttendanceId)的另一个类(Attendance.cs),并希望将此迁移添加到数据库中。我在PM中运行了“添加迁移出勤”以获取此消息:

并显示。

此迁移文件的Designer代码包含您当前代码的快照 第一个模型。当支持下一次迁移时,此快照用于计算对模型的更改。如果您要在此迁移中包括要对模型进行的其他更改,则可以重新构建它

我发现了一个类似的问题,随后我也尝试将AutomaticMigrationsEnabled = true;然后添加迁移,但是没有用。 我已经从数据库中删除了__MigrationHistory表,现在当我尝试运行Enable-Migration时,出现以下错误。

在程序集“测试”中发现了多个上下文类型。 要为“ test.ApplicationDbContext”启用迁移,请使用Enable-Migrations -ContextTypeName test.ApplicationDbContext。 要为“ test.Models.ApplicationDbContext”启用迁移,请使用Enable-Migrations -ContextTypeName test.Models.ApplicationDbContext。         }

public class Attendances
{
    public Gig Gig { get; set; }
    public ApplicationUser Attendee { get; set; }


    [Key]
    [Column(Order =1)]
    public int GigId { get; set; }
    [Key]
    [Column(Order = 2)]
    public string AttendanceId { get; set; }
}



public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
    {
        public DbSet<Gig> Gigs { get; set; }
        public DbSet<Genre> Genres { get; set; }

        public DbSet<Attendances> Attendance { get; set; }


    public ApplicationDbContext()
            : base("DefaultConnection", throwIfV1Schema: false)
        {
        }

        public static ApplicationDbContext Create()
        {
            return new ApplicationDbContext();
        }
    }

在程序集“测试”中发现了多个上下文类型。 要为“ test.ApplicationDbContext”启用迁移,请使用Enable-Migrations -ContextTypeName test.ApplicationDbContext。 要为“ test.Models.ApplicationDbContext”启用迁移,请使用Enable-Migrations -ContextTypeName test.Models.ApplicationDbContext。

0 个答案:

没有答案