C # - як змінити імена таблиць при використанні visual studio 2018 identity membership, code q - a

  1. AspNetRoles
  2. AspNetUserClaims
  3. AspNetUserLogins
  4. AspNetUserRoles
  5. AspNetUsers

Коли я реєструю нового користувача (використовуючи шаблон за замовчуванням), ці таблиці (перераховані вище) створюються, а таблиця AspNetUsers має вставлену запис, яка містить:

  1. Я б
  2. UserName
  3. PasswordHash
  4. SecurityStamp
  5. дискримінатор

Крім того, додавши публічні властивості в клас «ApplicationUser», я успішно додав додаткові поля в таблицю AspNetUsers, такі як «FirstName», «LastName», «PhoneNumber» і т. Д

Ось моє запитання. Чи є спосіб змінити імена вищевказаних таблиць (коли вони вперше створені) або вони будуть завжди називатися з префіксом AspNet як я вже AspNet вище? Якщо імена таблиць можна назвати по-різному, поясніть, як це зробити.

Я реалізував рішення @Hao Kung. Він створює нову таблицю (наприклад, я називав її MyUsers), але вона також створює таблицю AspNetUsers. Мета полягає в тому, щоб замінити таблицю «AspNetUsers» таблицею «MyUsers». Див. Код нижче і зображення бази даних створених таблиць.

Я дійсно хотів би замінити кожну таблицю AspNet своїм власним ім'ям. Для fxample, MyRoles, MyUserClaims, MyUserLogins, MyUserRoles і MyUsers.

Як це зробити, і в підсумку виходить тільки один набір таблиць?

Завдяки Хао кунг і Пітеру Стулінскі. Це вирішило мою проблему.

Ви можете спробувати перевизначити цей метод у своєму класі DbContext, щоб зіставити його з таблицею за вашим вибором:

Ми можемо змінити імена таблиць за замовчуванням asp.net Identity наступним чином:

Крім того, ми можемо розширити кожен клас і додати будь-яку властивість в класи, такі як «IdentityUser», «IdentityRole».

Щоб заощадити час, ми можемо використовувати розширюваний шаблон проекту AspNet Identity 2.0 для розширення всіх класів.

Ви також можете створювати класи конфігурації і задавати кожну деталь кожного з ваших класів Identity, наприклад:

А потім включите ці зміни в метод OnModelCreating ():

Це дасть вам повний контроль над усіма аспектами класів Identity.