- AspNetRoles
- AspNetUserClaims
- AspNetUserLogins
- AspNetUserRoles
- AspNetUsers
Коли я реєструю нового користувача (використовуючи шаблон за замовчуванням), ці таблиці (перераховані вище) створюються, а таблиця AspNetUsers має вставлену запис, яка містить:
- Я б
- UserName
- PasswordHash
- SecurityStamp
- дискримінатор
Крім того, додавши публічні властивості в клас «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.