【问题标题】:Add column in table with ASP.NET identity使用 ASP.NET 标识在表中添加列
【发布时间】:2016-02-04 18:30:55
【问题描述】:

我使用身份框架制作了一个带有 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。

【问题讨论】:

标签: asp.net sql-server ado.net asp.net-identity


【解决方案1】:

假设您要添加一个名为“FirstName”的新列:

第 1 步: 模型/IdentityModels.cs

将以下代码添加到“ApplicationUser”类中:

public string FirstName { get; set; }

第 2 步: Models/AccountViewModels.cs

将以下代码添加到“RegisterViewModel”类中:

public string FirstName { get; set; }

第 3 步: 查看/Register.cshtml

将名字输入文本框添加到视图中:

<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}

【讨论】:

  • 使用 VS2017 和 .Net Core2 不再需要使用Enable-Migrations
  • 添加后,如何让它被更新或插入,例如?
【解决方案2】:

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

步骤:

  1. 在控制台管理器中输入以下代码:

    Enable-Migrations
    

    来源:blogs.msdn.com

  2. ApplicationUser类中添加你想要的属性。

    public DateTime? Birthdate { get; set; }
    
  3. 在控制台管理器中输入以下代码:

    Add-Migration "Birthdate"
    
  4. 使用此代码更新数据库后:

    Update-Database
    

结果:一个名为“Birthdate”的新列被添加到数据库中,并键入可以为空的datetime

【讨论】:

  • 感谢您的帖子。它帮助了我!在我的情况下,我必须添加 int 类型的列。我添加了您帖子中描述的列,但是,现在我需要将添加的 int 列定义为外键。你知道如何实现吗?
  • @Michael 看看这个:stackoverflow.com/questions/5542864/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-21
  • 1970-01-01
  • 2023-03-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多