1
데이터 액세스를 위해 LINQ to SQL을 사용하여 사용자 지정 역할 공급자를 만들었습니다. 공급자를 위해 작성해야하는 기능 중 하나는 역할에서 사용자를 제거하는 것입니다.LINQ to SQL 다 대다 비교 쿼리
public void RemoveUsersFromRoles(string[] usernames, string[] rolenames);
이제 한 가지 방법이 있습니다. 더 나은이있는 경우
이러한 접근 방식은 효율적 거리가 멀다 역할 목록 내가 좋아하는 것
- 반환 알고 LINQ to SQL에서 이러한 유형의 문제를 처리하는 방법.
LINQ to SQL에서 루프를 만들고 N 개의 선택을하는 대신 문자열 배열을 사용하는 SELECT 문을 만드는 방법이 있습니까? 위에 설명 된 것보다 더 나은 접근 방법이 많이 감사 할 것입니다. 참여
테이블 :
User (RecordID, Username) Role (RecordID, Rolename) UsersInRole (RoleID,UserID)
당신을 감사합니다!
그냥 코드를 향상 시키려면 :위 쿼리에서 전체 단어를 * far *보다 읽기 쉽도록 작성하면됩니다 .U => user, r => role, uir => usersInRole. –
각 사용자와 역할에 대해이 쿼리를 반복해야합니다. – Lukasz
아니요.이 쿼리는 메서드에 대한 인수에 지정된 user + role의 조합과 일치하는 모든 UsersInRole 레코드를 반환합니다. 당신은 쿼리를 한 번만 실행하여 관련 레코드를 가져 오거나 삭제할 수 있습니다. –