使用SimpleMembershipProvider更新自定义用户配置文件字段?

我在UserProfile表中添加了一个名为ClassOfYear的自定义字段,我可以在注册时将数据输入到配置文件中,如下所示:

 var confirmationToken = WebSecurity.CreateUserAndAccount(model.UserName, model.Password, propertyValues: new { ClassOfYear = model.ClassOfYear }, requireConfirmationToken: true); 

但是,现在我希望能够在管理它时更新配置文件,但我似乎无法找到这样做的方法。 我是否需要自己更新UserProfile表? 如果没有,这样做的适当方法是什么?

仅供参考,我正在使用Dapper作为我的数据访问层,以防万一。 但是, WebSecurity ,我可以通过Dapper更新UserProfile表,如果这是我应该做的,我只是认为WebSecurity类或类似的东西已经有了一种方式,因为自定义用户配置文件字段已与CreateUserAndAccount方法。

谢谢大家!

SimpleMembershipProvider代码中没有任何内容可以对除了create之外的其他字段执行任何操作。

只需从ORM中自己查询值即可。

您可以使用WebSecurity.GetUserId(User.Identity.Name)获取用户的ID,然后使用Dapper查询UserProfile表。

以防万一有人面临同样的问题。 在使用SimpleMembership进行了很多战斗后,我得到了一个解决方案,它填充了webpages_Membership和我的自定义Users表。 有关说明,请遵循我的代码:

 public ActionResult Register(RegisterModel model) { if (ModelState.IsValid) { TUsuario userDTO= new TUSer() { Name = model.Name, Login = model.Login, Pass = model.Pass.ToString(CultureInfo.InvariantCulture), Active = true, IdCompany = model.IdCompany, IdUserGroup = model.IdUserGroup, }; try { WebSecurity.CreateUserAndAccount(model.Login, model.Pass, new { IdUser = new UserDAL().Seq.NextVal(), Name = userDTO.Name, Login = userDTO.Login, Active = userDTO.Active, Pass = userDTO.Pass, IdCompany = userDTO.IdCompany, IdUserGroup = userDTO.IdUserGroup }); WebSecurity.Login(model.Login, model.Pass); 

在诅咒框架之后,给了我一股清新的空气:)

PS。:使用WebSecurity.InitializeDatabaseConnectionfunction在global.asax文件中指定users表。