【发布时间】:2015-10-30 17:59:37
【问题描述】:
我正在尝试使用自动迁移来更新我的数据库。我最近向身份模型添加了一些属性:
namespace CISC_Website.Models
{
public class ApplicationUser : IdentityUser
{
public string Email { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public bool ConfirmedEmail { get; set; }
}
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("CISCDb")
{
}
}
}
但是,每当我运行 update-database 命令时,这些更改都不会被推送,因为我的用户表仍然与首次创建时相同。
这是我的迁移文件夹的内容:
namespace CISC_Website.Migrations
{
using System;
using System.Data.Entity;
using System.Data.Entity.Migrations;
using System.Linq;
using System.Collections.Generic;
internal sealed class Configuration : DbMigrationsConfiguration<CISC_Website.Models.CISCDb>
{
public Configuration()
{
AutomaticMigrationsEnabled = true;
}
protected override void Seed(CISC_Website.Models.CISCDb context)
{
//seed data...
}
}
}
我最初知道在运行 enable migrations 命令时,身份模型是这样表示的:
namespace CISC_Website.Models
{
public class ApplicationUser : IdentityUser
{
}
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection")
{
}
}
}
知道如何识别这些表格吗?
【问题讨论】:
-
您添加了迁移吗?在运行更新数据库之前,您需要实际添加迁移。这将为该特定更改集生成升级/降级脚手架类。创建完成后,您可以运行 update-database 将更改应用到您的目标
-
不,我启用了自动迁移……它适用于我的其他模型……
-
在这种情况下,无论如何尝试使用 Add-Migration,可能是您所做的某些更改无法自动构建(不确定是什么,因为它看起来与您的模型非常清晰)
标签: asp.net-mvc asp.net-identity entity-framework-migrations