2013-02-18 77 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)); 
} 
相關問題