Я работаю над веб-приложением ASP.Net Core 2.1.1 в VS2017 v15.8.2, используя шаблон веб-приложения с отдельными учетными записями пользователей.
Я хочу добавить дополнительные свойства к IdentityUser, поэтому я создал класс ApplicationUser
, наследующий от IdentityUser
. Я применил соответствующие обновления к файлам startup.cs и _loginPartial.cshtml. Все компилируется, но когда я запускаю Add-Migration
, он не выбирает свойства моего ApplicationUser
класса. У меня есть класс миграции, но у методов вверх и вниз нет свойств.
У меня только один проект, поэтому выбор проекта по умолчанию не является проблемой в консоли диспетчера пакетов.
Вот мой класс 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 Core, когда я впервые создал проект, и когда я запустил команду update-database, он отлично создал все таблицы AspNetUserxxx и AspNetRolexxx в базе данных.
Но я не могу понять, почему EF Migrations не видит класс ApplicationUser
, чтобы добавить новые свойства в класс миграции.
Когда я ищу примеры в Интернете, похоже, что я делаю все правильно, чтобы расширить свойства IdentyUser
.
Что мне не хватает?
РЕДАКТИРОВАТЬ 1: Я попробовал решение в этом сообщении SO, но это не имело никакого значения. а>