Я работаю над веб-приложением ASP.Net Core 2.1.1 в VS2017 v15.8.2, используя шаблон веб-приложения с индивидуальными учетными записями пользователей.
Я хочу добавить больше свойств в IdentityUser, поэтому я создал класс ApplicationUser
, который наследуется от IdentityUser
. Я применил соответствующие обновления к файлам startup.cs и _loginPartial.cshtml. Все компилируется, но когда я запускаю Add-Migration
, он не выбирает свойства в моем классе ApplicationUser
. У меня есть класс миграции, но у методов up и down нет свойств.
У меня только один проект, поэтому выбор проекта по умолчанию не является проблемой в консоли диспетчера пакетов.
Вот мой класс ApplicationUser
public class ApplicationUser : IdentityUser
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string Street { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Zipcode { get; set; }
public int CompanyId { get; set; }
}
Вот мой DBContext
public class ApplicationDbContext : IdentityDbContext
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
}
Вот служба в Startup.cs, ConfigureService
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.
GetConnectionString("AccountDbConnectionString")));
services.AddDefaultIdentity<ApplicationUser>()
.AddEntityFrameworkStores<ApplicationDbContext>();
Вот миграция надстроек в консоли диспетчера пакетов
Add-Migration -c ApplicationDbContext V1.00.01
Вот результирующая миграция
public partial class V10001 : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
}
protected override void Down(MigrationBuilder migrationBuilder)
{
}
}
Класс ApplicationUser
находится в папке Models в корневом каталоге проекта.
IdentityUser
был проанализирован для начальной миграции шаблона основного веб-приложения Asp.Net, когда я впервые создал проект и когда я выполнил команду update-database, он прекрасно создал все таблицы AspNetUserxxx и AspNetRolexxx в базе данных ,
Но я не понимаю, почему EF Migrations не видит класс ApplicationUser
, поэтому он может добавить новые свойства в класс миграции.
Когда я ищу примеры в Интернете, похоже, что я делаю все правильно, чтобы расширить свойства IdentyUser
.
Чего мне не хватает?
РЕДАКТИРОВАТЬ 1: я пробовал решение в этом посте, но это не имело никакого значения.
Entity Framework Core 2.0 add-миграция ничего не генерирует