在 table 中添加具有 ASP.NET 标识的列
Add column in table with ASP.NET identity
我使用身份框架制作了一个 ASP.NET MVC 项目。它创建了一个新的 table AspNetUsers
,但我想在其中添加列 table,例如生日、个人资料图片等...我该怎么做?
我可以在 SQL Server Management Studio 中 运行 下面的查询吗?
ALTER TABLE AspNetUsers ADD ProfilePicture NVARCHAR(100);
ALTER TABLE AspNetUsers ADD BirthDay DATE;
还是更复杂?我不能使用身份框架,所以我必须使用 ADO.NET 和 .NET framework 4.
找到了! @James 向我推荐了一篇有用的文章。
步骤:
在控制台管理器中输入以下代码:
Enable-Migrations
在classApplicationUser
中添加你想要的属性。
public DateTime? Birthdate { get; set; }
在控制台管理器中键入此代码:
Add-Migration "Birthdate"
使用此代码更新数据库后:
Update-Database
结果: 数据库中添加了一个新列,名称为 "Birthdate",类型为 datetime
,可以为空。
假设您要添加一个名为 "FirstName":
的新列
第一步: Models/IdentityModels.cs
将以下代码添加到 "ApplicationUser" class:
public string FirstName { get; set; }
第 2 步: Models/AccountViewModels.cs
将以下代码添加到 "RegisterViewModel" class:
public string FirstName { get; set; }
步骤 3: Views/Register.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 管理器”>“程序包管理器控制台”
步骤 A:键入“Enable-Migrations”并按回车键
步骤 B:键入“Add-Migration "FirstName"”并按回车键
步骤 C:键入“Update-Database”并按回车键
即
PM> Enable-Migrations
PM> Add-Migration "FirstName"
PM> Update-Database
第 5 步: Controllers/AccountController.cs
转到注册操作并将 "FirstName = model.FirstName" 添加到 ApplicationUser
即
var user = new ApplicationUser { UserName = model.Email, Email = model.Email, FirstName = model.FirstName}
我使用身份框架制作了一个 ASP.NET MVC 项目。它创建了一个新的 table AspNetUsers
,但我想在其中添加列 table,例如生日、个人资料图片等...我该怎么做?
我可以在 SQL Server Management Studio 中 运行 下面的查询吗?
ALTER TABLE AspNetUsers ADD ProfilePicture NVARCHAR(100);
ALTER TABLE AspNetUsers ADD BirthDay DATE;
还是更复杂?我不能使用身份框架,所以我必须使用 ADO.NET 和 .NET framework 4.
找到了! @James 向我推荐了一篇有用的文章。
步骤:
在控制台管理器中输入以下代码:
Enable-Migrations
在class
ApplicationUser
中添加你想要的属性。public DateTime? Birthdate { get; set; }
在控制台管理器中键入此代码:
Add-Migration "Birthdate"
使用此代码更新数据库后:
Update-Database
结果: 数据库中添加了一个新列,名称为 "Birthdate",类型为 datetime
,可以为空。
假设您要添加一个名为 "FirstName":
的新列第一步: Models/IdentityModels.cs
将以下代码添加到 "ApplicationUser" class:
public string FirstName { get; set; }
第 2 步: Models/AccountViewModels.cs
将以下代码添加到 "RegisterViewModel" class:
public string FirstName { get; set; }
步骤 3: Views/Register.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 管理器”>“程序包管理器控制台”
步骤 A:键入“Enable-Migrations”并按回车键
步骤 B:键入“Add-Migration "FirstName"”并按回车键
步骤 C:键入“Update-Database”并按回车键
即
PM> Enable-Migrations
PM> Add-Migration "FirstName"
PM> Update-Database
第 5 步: Controllers/AccountController.cs
转到注册操作并将 "FirstName = model.FirstName" 添加到 ApplicationUser
即
var user = new ApplicationUser { UserName = model.Email, Email = model.Email, FirstName = model.FirstName}