Добавить столбец в таблицу с ASP.NET идентичность
Я сделал проект whit ASP.NET MVC в рамках идентификации. Он создал новую таблицу AspNetUsers
, но я хочу добавить столбцы в эту таблицу, как День рождения, изображение профиля и т. д... Как я могу это сделать?
могу ли я выполнить запрос ниже в моей среде SQL Server Management Studio?
ALTER TABLE AspNetUsers ADD ProfilePicture NVARCHAR(100);
ALTER TABLE AspNetUsers ADD BirthDay DATE;
или это сложнее? Я не могу работать с Identity framework, поэтому я должен сделать это с ADO.NET и .NET framework 4.
2 ответов
Я нашел ее! @Джеймс предложил мне статью, которая работает.
действия:
-
введите в диспетчере консоли этот код:
Enable-Migrations
источник:blogs.msdn.com
-
в классе
ApplicationUser
добавить свойство, которое вы хотите.public DateTime? Birthdate { get; set; }
-
в диспетчере консоли введите это код:
Add-Migration "Birthdate"
-
после этого обновите базу данных с помощью этого кода:
Update-Database
результат: в базу данных добавляется новый столбец с именем "Birthdate" и типом datetime
это может быть null.
Предположим, вы хотите добавить новый столбец с именем "Имя":
Шаг 1: Модели / IdentityModels.cs
добавьте следующий код в класс "ApplicationUser":
public string FirstName { get; set; }
Шаг 2: Модели / AccountViewModels.cs
добавьте следующий код в класс "RegisterViewModel":
public string FirstName { get; set; }
Шаг 3: Вид/Регистра.cshtml по
добавить текстовое поле ввода FirstName в вид:
<div class="form-group">
@Html.LabelFor(m => m.FirstName, new { @class = "col-md-2 control-label" })
<div class="col-md-10">
@Html.TextBoxFor(m => m.FirstName, new { @class = "form-control" })
</div>
</div>
Шаг 4 :
перейдите в меню Сервис > NuGet Manager > консоль диспетчера пакетов
Шаг A: введите "Enable-Migrations" и нажмите enter
Шаг B: введите "Add-Migration "FirstName "" и нажмите enter
Шаг C: введите "Update-Database" и нажмите enter
я.е
PM> Enable-Migrations
PM> Add-Migration "FirstName"
PM> Update-Database
Шаг 5: Контроллеры/AccountController.cs
перейти к регистрации действий и добавить " FirstName = модель."Имя "" к ApplicationUser
я.е
var user = new ApplicationUser { UserName = model.Email, Email = model.Email, FirstName = model.FirstName}