首先使用数据库向 aspnetusers 添加列

Add column to aspnetusers with database first

我找到了很多关于通过数据库迁移将列添加到身份 table 的教程(我已成功将其移至应用程序数据库),但我的理解是这不适用于数据库拳头项目。那么...如何在数据库第一个项目中向 aspnetusers table 添加列?

我想添加一个名为 Is RegComplete 的位类型列,该列最初设置为 0,然后在用户完成更多任务后设置为 1。

好的,我破解了!首先,我没有意识到虽然我已将身份表移至应用程序数据库,但仍有两个数据库上下文,一个用于应用程序表,即 DB First,另一个用于身份表。

我能够启用迁移并首先使用代码添加列,然后迁移然后更新数据库。新列现已在控制器中可用。

我发现这个教程对我有帮助:http://blogs.msdn.com/b/webdev/archive/2013/10/16/customizing-profile-information-in-asp-net-identity-in-vs-2013-templates.aspx

最简单的解决方案:

  • 将列添加到 AspNetUsers table
  • 将属性添加到 IdentityModels.cs class(检查附件)
  • 将相同的属性添加到 AccountViewModels.cs\RegisterViewModel class
  • 编译成功。

附件

(VS 2017, MVC5)