Asp.net

使用 ASP.NET 標識在表中添加列

  • December 14, 2020

我使用身份框架製作了一個帶有 ASP.NET MVC 的項目。它創建了一個新表AspNetUsers,但我想在該表中添加列,如生日、個人資料圖片等……我該怎麼做?

我可以在我的 SQL Server Management Studio 中執行以下查詢嗎?

ALTER TABLE AspNetUsers ADD ProfilePicture NVARCHAR(100);
ALTER TABLE AspNetUsers ADD BirthDay DATE;

還是更複雜?我不能使用身份框架,所以我必須使用 ADO.NET 和 .NET 框架 4。

我找到了!@James 向我推薦了一篇有效的文章。

腳步:

  1. 在控制台管理器中輸入以下程式碼:
Enable-Migrations

來源:blogs.msdn.com 2. 在類中ApplicationUser添加您想要的屬性。

public DateTime? Birthdate { get; set; }
  1. 在控制台管理器中輸入以下程式碼:
Add-Migration "Birthdate"
  1. 使用以下程式碼更新數據庫後:
Update-Database

**結果:**一個新列被添加到數據庫中,名稱為“Birthdate”,類型datetime可以為空。

假設您要添加一個名為“FirstName”的新列:

**第 1 步:**模型/IdentityModels.cs

將以下程式碼添加到“ApplicationUser”類中:

public string FirstName { get; set; }

第 2 步: 模型/AccountViewModels.cs

將以下程式碼添加到“RegisterViewModel”類:

public string FirstName { get; set; }

第 3 步: 查看/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”並按 Enter

步驟 B:鍵入“Add-Migration “FirstName”並按 Enter

步驟 C:鍵入“Update-Database”並按 Enter

PM> Enable-Migrations
PM> Add-Migration "FirstName"
PM> Update-Database

第 5 步: 控制器/AccountController.cs

轉到註冊操作並將“FirstName = model.FirstName”添加到 ApplicationUser 即

var user = new ApplicationUser { UserName = model.Email, Email = model.Email, FirstName = model.FirstName}

引用自:https://stackoverflow.com/questions/33518872