我已经为UserProfile asp.net会员表,姓氏,地址,手机等添加了一些自定义属性。所以 我可以使用。
创建新用户WebSecurity.CreateUserAndAccount(UserName, Password,
propertyValues: new
{
UserId = model.userId,
UserLastName = model.lastName,
UserAddress = model.address,
.
.
}
);
所以我想知道是否有可能以类似的方式实现更新查询,包括这个自定义属性。 谢谢。
答案 0 :(得分:0)
是的,你可以。但是我不认为WebSecurity
提供了更新成员资格表中额外列的方法,例如UserProfile通过其API。
我们是这样做的,我们有MVC4 ASP.NET互联网应用项目,我们正在使用EF5.0 Code First。
您已经知道如何在UserProfile表中添加额外的列(表名可以是任何内容)。
一旦我们有了一个类(所有需要额外的列以及UserId和UserName),
UserController
,专门用于促进UserProfile的CRUD操作。UserService
类,负责处理UserProfile类(实体)上的所有CRUD操作。在编辑帖子操作上,控制器调用UserService类UpdateUser()
方法,如下所示:
public void UpdateUser(UserProfile user)
{
Guard.ArgumentNotNull(user, "user");
if (_roleWrapper.GetRolesForUser(user.UserName).Any())
{
_roleWrapper.RemoveUserFromRoles(user.UserName, _roleWrapper.GetRolesForUser(user.UserName));
}
if (!_roleWrapper.IsUserInRole(user.UserName, user.Role))
{
_roleWrapper.AddUserToRole(user.UserName, user.Role);
}
_dataContext.Update<UserProfile>(user);
}
以上文字和示例仅作为示例,您可以简化它。基本上你需要掌握UserProfile类并使用DbContext手动更新它。 WebSecurity
限制了API,保持了简洁性。
希望有所帮助(如果有什么令人困惑的请告诉我,我会进一步扩展)。