0

Я пытаюсь использовать ASP.NET Identity 2.0 с существующей базой данных. Я создал проект MVC (который использует индивидуальную проверку подлинности), затем я зарегистрировался для использования для создания БД.ASP.NET Identity 2.0 DB Первый подход: добавление новых столбцов

Тогда:

  1. Я создал сценарии для необходимых таблиц и добавил их к своей собственной БД
  2. Я добавил ADO.NET Entity модели данных (база данных первого), которые включают в себя мои таблицы плюс таблицу идентичности.
  3. Я запустил приложение и зарегистрировался для пользователя, все идет хорошо.

Теперь мне нужно добавить отношение к таблице AspNetUser.

  1. Я добавил столбец LocationId с отношением в БД.
  2. Я добавил следующий класс Application User:

    public virtual Region Region { get; set; } 
    
  3. Затем я обновил свою модель и запустить приложение, когда я пытался зарегистрировать новый пользователь, я получил следующее сообщение об ошибке:

Как можно продолжить использование DB First Approach в этом сценарии?

+0

Возможный дубликат: http://stackoverflow.com/q/28531201/861716 –

+0

Нет, это не так, я не добавил код для семенных или пользовательских сопоставлений. – Coding

+0

Я просто добавил идентификационные таблицы в свою пользовательскую базу данных, а затем добавил модель с использованием DB First. У меня также есть две строки подключения, указывающие на одну и ту же БД. Один для Identity и другой для первой модели базы данных. – Coding

ответ

1

Идентификация использует первый подход Code для того, чтобы система Identity System максимально упрощала настройку, и вы используете первый подход DB для вашего общего доступа к данным. Таким образом, существует 2 контекста, один для ваших данных, а другой - для вас Identity. Вам нужно написать удостоверяющих личность классов и сделать код первую миграцию идентичности контекста класса, введя в Package Manager Console, как:

`Enable-Миграции -ContextNameType [Your_Identity_Context]

Это позволит код первые миграции только для вашего типа контекста Identity. Если вы хотите добавить свойство региона в свою пользовательскую таблицу, то в «ApplicationUser» (или любой класс, полученный из IdentityUser) добавьте свойство требуемого региона, а затем примените миграции для обновления таблицы пользователя в базе данных.

Создание SQL-скрипта и применение к базе данных не является хорошим подходом.

+0

ОК, который сработал. Но как я могу переименовать таблицы. Свободный Api не работает в моем случае. – Coding