2013-02-18 4 views
4

감사합니다.ASP.NET MVC4 SimpleMembership에서 역할이있는 사용자를 삭제하려면 어떻게해야합니까?

내 현재 프로젝트에

배경

, 클라이언트는 나를 ASP.NET MVC4의 간단한 회원을 사용하고 싶습니다. 일반적으로 나는 닷넷 멤버십 클래스를 사용하지 않으므로 간단한 무언가를 놓친다. 그러나 webpages_UsersInRoles 테이블과 UserProfile 테이블 사이에 외래 키 제약 조건이 있으므로 코드를 통해 사용자를 삭제할 수 없다.

'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

그건 내가 지금 할 일이다. 감사! –

0

은 또한 RemoveUserFromRoles를 사용 (복수형)

void DeleteUserRoles(string username) 
{ 
    Roles.RemoveUserFromRoles(username, Roles.GetRolesForUser(username)); 
} 
관련 문제