【问题标题】:Add column to aspnetusers with database first首先使用数据库将列添加到 aspnetusers
【发布时间】:2015-03-20 08:24:24
【问题描述】:

我找到了许多使用数据库迁移将列添加到身份表(我已成功移动到应用程序数据库)的教程,但我的理解是这不适用于数据库拳头项目。那么...如何在数据库优先项目的 aspnetusers 表中添加列?

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

【问题讨论】:

  • 我似乎仍然无法破解这个。看起来可能有很多问题是 a) emdx 不包含身份表,我不确定它们应该包含和 b) 我无法通过迁移更新数据库,因为我已将表移动到应用程序我们首先使用数据库完成的数据库。我已经查找了一些关于此的文档,但它们都引用了代码优先。

标签: asp.net asp.net-identity asp.net-mvc-5.2


【解决方案1】:

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

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

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

【讨论】:

  • 嗨。您仍然使用两种上下文,还是只使用一种?
  • 我在同一个数据库中使用了两个上下文,一个用于用户/身份表,一个用于应用程序表。
  • 这篇文章很棒很有帮助! apress.com/gp/blog/all-blog-posts/secular-trends-for-the-cloud/…。添加到现有数据库时很重要。
  • public class ApplicationUser : IdentityUser { //example public String Name { get;放; } .... }
【解决方案2】:

最简单的解决方案:

  • 将列添加到AspNetUsers 表中
  • 将属性添加到IdentityModels.cs 类(检查附件)
  • 将相同的属性添加到AccountViewModels.cs\RegisterViewModel 类中
  • 编译即可。

附件

(VS 2017,MVC5)

【讨论】:

    猜你喜欢
    • 2017-10-04
    • 2014-03-29
    • 2014-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多