如何在ASP.NET MVC4 SimpleMembership中删除具有角色的用户?

时间:2013-02-18 12:11:00

标签: c# asp.net asp.net-mvc asp.net-mvc-4 simplemembership

感谢您的光临。

背景

在我当前的项目中,客户希望我使用ASP.NET MVC4的Simple成员资格。通常我不使用.NET成员资格类,所以也许我错过了一些简单的东西,但我似乎无法通过代码删除用户,因为webpages_UsersInRoles表和{{1}之间存在外键约束表格。

我尝试使用UserProfile,因为'true'的设置应该级联删除,但即使在为用户分配了角色时也会失败。

我尝试通过服务器资源管理器访问Membership.DeleteUser(id, true);文件,并将FK上的删除操作设置为mdb,但禁用了删除操作选项。

作为最后的努力,我从成员资格数据库中创建了一个单独的实体类(.edmx),希望我可以通过C#成功删除,但是.edmx的生成拒绝引入CASCADE表格!

我使用的是C#,.NET 4.5。

问题

使用C#。如果为该用户分配了一个或多个角色,如何从MVC4 SimpleMembership中删除用户?

1 个答案:

答案 0 :(得分:7)

我无法快速找到为什么在UserInRoles表上似乎没有关于用户被删除时的删除级联规则,但可能this answer有帮助:

void DeleteUserRoles(string username)
{
    foreach (var role in Roles.GetRolesForUser(username))
        Roles.RemoveUserFromRole(username, role);            
}