2013-02-18 72 views
4

感谢您的期待。如何删除具有ASP.NET MVC4 SimpleMembership中角色的用户?

背景

在我的当前项目中,客户要我用ASP.NET MVC4的简单成员。通常我不使用.NET成员资格类,因此可能我缺少一些简单的东西,但我似乎无法通过代码删除用户,因为webpages_UsersInRoles表和UserProfile表之间存在外键约束。

我试过使用Membership.DeleteUser(id, true);,因为'true'的设置应该级联删除,但即使失败了,如果有一个角色分配给用户。

我试过通过服务器浏览器进入mdb文件,并将FK上的删除操作设置为CASCADE,但删除操作选项被禁用。

作为最后的努力,我从会员数据库创建了一个单独的实体类(.edmx),希望我可以通过C#破解我的成功删除方式,但是.edmx的生成拒绝将在webpages_UsersInRoles表中!

我正在使用C#.NET 4.5。

问题

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

回答

7

我不能快速找到为什么似乎没有成为一个上的UsersInRoles表级联删除规则时,用户被删除了,但也许this answer帮助:

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

这就是我现在要做的。谢谢! – 2013-02-18 12:34:10

0

此外,可使用RemoveUserFromRoles (复数)

void DeleteUserRoles(string username) 
{ 
    Roles.RemoveUserFromRoles(username, Roles.GetRolesForUser(username)); 
} 
相关问题