Мое приложение выполняет аутентификацию с Asp.NET Identity. Входящие в систему пользователи хранятся в dbo.ASPNetUsers
. Некоторое время назад я использовал миграции для добавления другой таблицы под названием «Клиент», но теперь эта таблица заполнена.
Как добавитьконтроллер для выполнения операций CRUD ТОЛЬКО на существующем «Клиенте» (в других таблицах есть контроллеры) без удаления таблицы и риска удаления любого ее содержимого или любого другого содержимого в существующих таблицах в БД.
Что я пробовална данный момент:
Создайте класс в папке Models под названием «Customer», чтобы он походил на столбцы таблицы
public class Customer
{
[Key]
public string ID {get;set;}
public string FirstName {get;set;}
public string LastName {get;set;}
}
Добавьте DbSetCustomers
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
// : base("DefaultConnection", throwIfV1Schema: false)
: base("MS_TableConnectionString", throwIfV1Schema: false)
{
}
public DbSet<Customer> Customers { get; set; }
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
}
}
Добавьте новый контроллер типа Контроллер Web API 2 с действиями с использованием Entity Framework с использованием класса модели Customer, с классом контекста данных в качестве стандартного ApplicationDBContext (опция по умолчанию при создании контроллера, предполагается, что он использует строку подключения моего приложения для таблицы azure).
При использовании клиентов GET в POST я получаю сообщение о том, что база данных изменилась с момента последнейgration, я представляю, что это происходит из-за добавления клиентов DbSet, но я не хочу обновлять миграцию, потому что в коде миграции есть команда удаления таблицы.
- Это правильный метод?
- Стоит ли просто изменить скрипт миграции, чтобы не отбрасывать таблицу?
Пожалуйста, сообщите.