【问题标题】:Adding field to users database in asp.net webforms application在 asp.net webforms 应用程序中向用户数据库添加字段
【发布时间】:2016-06-07 19:58:38
【问题描述】:

我是 VS2015 的新手,并且正在运行它。我的偏好是在 VB 中运行,并且我打开了一个示例 asp.net web ap。使用新的实体框架,我正在尝试向 aspnetusers 数据库添加一个字段“PrincipalID”。我启用了迁移并将该字段添加到 register.aspx 代码文件中。我添加了迁移并毫无错误地运行了更新的数据库,但新字段未显示在数据库中。有人知道为什么吗?

register.aspx 文件中的代码段:

Partial Public Class Register
Inherits Page
Protected Sub CreateUser_Click(sender As Object, e As EventArgs)
    Dim userName As String = Email.Text
    Dim manager = Context.GetOwinContext().GetUserManager(Of ApplicationUserManager)()
    Dim signInManager = Context.GetOwinContext().Get(Of ApplicationSignInManager)()
    Dim user = New ApplicationUser() With {.UserName = userName, .Email = userName, .PrincipalID = "test"}
    Dim result = manager.Create(user, Password.Text)
    If result.Succeeded Then
        ' For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
        ' Dim code = manager.GenerateEmailConfirmationToken(user.Id)
        ' Dim callbackUrl = IdentityHelper.GetUserConfirmationRedirectUrl(code, user.Id, Request)
        ' manager.SendEmail(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=""" & callbackUrl & """>here</a>.")

        signInManager.SignIn(user, isPersistent := False, rememberBrowser := False)
        IdentityHelper.RedirectToReturnUrl(Request.QueryString("ReturnUrl"), Response)
    Else
        ErrorMessage.Text = result.Errors.FirstOrDefault()
    End If
End Sub

结束类

【问题讨论】:

  • 添加一个 Try Catch 看看是否有错误抛出。作为运行此代码的实体,您是否具有对数据库的写入权限?
  • 您是否将属性 PrincipalID 添加到 ApplicationUser 类?然后添加迁移并更新数据库

标签: asp.net vb.net entity-framework-6


【解决方案1】:

您必须刷新连接,在服务或数据源选项卡上,刷新您的连接字符串,所有新字段都会加载。

【讨论】:

  • 谢谢。我已经刷新了连接,但事实并非如此。就写权限而言,数据库是由应用程序创建的,我可以将用户添加到数据库中,并且还获得了为用户工作的角色,所以在我看来,写入数据库是有效的。看代码,相信是在Application User类中添加了PrinciplID。当我右键单击 PrincipalID 的新条目并选择“创建字段”时,它是自动添加的(我相信)。我将其从“朋友”更改为“公开”,看看是否有任何影响。如果我插入一个“try-catch”,它会去哪里?
  • 'Imports System.Threading.Tasks Imports System.Security.Claims Imports Microsoft.AspNet.Identity Imports Microsoft.AspNet.Identity.EntityFramework ' 您可以通过将更多属性添加到您的用户类,请访问go.microsoft.com/fwlink/?LinkID=317594了解更多。公共类 ApplicationUser 继承 IdentityUser 公共 PrincipalID 作为字符串 公共函数 GenerateUserIdentity(manager As
猜你喜欢
  • 1970-01-01
  • 2023-03-19
  • 2015-10-31
  • 2017-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多