2009-06-19 3 views
1

ASP.NET 2.0 멤버십, 역할 및 프로필은 고양이의 야옹입니다. 역할을위한 API는 GetAllUsersInRole ("MyNewsletterSubscriber")와 같은 편리한 메소드를 지원하며 "MyNewsletterSubscriber"역할에있는 사람들의 콜렉션을 리턴합니다.ASP.NET 역할 및 프로필 : 사용자 지정 프로필 속성과 일치하는 사용자 컬렉션을 쿼리하는 가장 좋은 방법은 무엇입니까?

사용자 지정 ASP.NET 프로필 속성을 가진 사람들의 컬렉션을 반환하는 가장 좋은 방법은 무엇일까 궁금합니다. 예를 들어 IsNewsletter1SubscriptionUserSelectionTextOnly라는 사용자 지정 프로필 속성과 IsNewsletter1UserSelectionMobileOptimized라는 사용자 지정 프로필 속성을 만들 수 있습니다.

그렇다면 어떻게하면 GetAllUsersWithCustomProfileProperty ("IsNewsletter1SubscriptionUserSelectionTextOnly", true)와 비슷한 것을 가장 효율적으로 쿼리 할 수 ​​있습니까?

프로파일 주위의 API가 저개발 인 것처럼 보입니다. Scott Guthrie가 Tech Ed 2006에서의 연설에서 앞으로 다가올 작업을 언급했다고 생각합니다.하지만 끝났습니다.

프로필을 부적절하게 사용하려고 할 수도 있습니다.이 모든 정크를 곧은 역할로 저장하는 것이 좋습니다. 모르겠다. 목록 관리에 역할 또는 프로필을 사용하는 아이디어가 마음에 들지만 관리 방법이 가장 명확하지 않습니다.

생각, 아이디어, 답변? 감사합니다 ...

답변

1

적어도 기본 SQL 구현으로 프로필을 쿼리하는 것은 실제로 바이너리 직렬화 된 필드를 쿼리하기 때문에 무서워서 모든 쿼리가 데이터베이스의 모든 행을로드하고 deserialize해야하므로 바이너리를 말한 다음 대답을 확인하십시오. 속임수를 쓰지 말고 LINQ를 Object 또는 다른 것으로 실행하면 DBA가 당신을 쏠 것입니다.

아무튼, 내 규칙은 프로필에서 쿼리하는 즉시 정상적인 방식으로 쿼리 할 수있는 사용자 지정 공급자를 구현하는 것이 좋습니다. 보통 이것은 도메인 모델의 일부가됩니다.

관련 문제