문제

저는 2 개의 프로젝트가있는 ASP.NET 솔루션을 작업하고 있습니다. 하나는 웹 인터페이스이고 다른 하나는 내 비즈니스 로직을 포함합니다. 두 번째 프로젝트에서 데이터 액세스에 LINQ에서 SQL을 사용하고 있습니다.

내 데이터베이스 외에도 사용자 정보를 보유하는 사용자라는 테이블이 있습니다.

멤버십 프로보더를 구현하기 시작했습니다. 멤버십 사용자는 멤버십 프로보더와 결합되어 있음을 알 수 있습니다. 내 BLL/DAL을 사용자에 대해 이야기하는 가장 올바른 방법은 무엇입니까? 멤버쉽 사용자를 최소화하고 사용자가 메소드를 호출 할 때마다 예를 들어 요청합니다. 내 bll/dal의 getUserInfo (), 사용자에 대한 완전한 정보를 얻으려면?

아니면 BLL/DAL (이 사용자 정의 사용자 클래스가 LINQ와 관련이 없음)에서 Membershipuser 클래스 메소드가 내 사용자 정의 "사용자"클래스 메소드 (래퍼와 같은)를 호출해야합니까?

또는 멤버십 사용자를 확장하기 위해 LINQ에서 SQL 클래스 "CFUSERS"를 연장 할 수 있습니다.

나는 이것이 의미가 있기를 바랍니다.

도움이 되었습니까?

해결책

나는 일반적으로 멤버십 사용자가 일반적인 관심사 인 멤버십을 중심으로 진행되며 시스템의 사용자가 당신의 도메인이 수반하는 모든 것을 중심으로 진행함에 따라 이것을 분리 된 엔티티라고 생각합니다. 나는이 두 엔티티가 하나에 포함될 수있는 곳에서 당신의 관점을 볼 수 있습니다. 프로파일은 확실히 가장 쉬운 방법입니다.

MSDN 문서에는 산책이 있습니다http://msdn2.microsoft.com/en-us/lib...us,vs.80).aspx 그리고 Scott Guthrie at의 좋은 연습http://weblogs.asp.net/scottgu/archi...18/427754.aspx

항상 그렇듯이 그것은 당신의 목표가 무엇인지에 달려 있습니다. 프로파일에 추가하는 것은 추가 데이터를위한 간단한 메커니즘입니다. 사용자 정의 방식이 거의 필요하지 않으며 웹 응용 프로그램에서 정보를 쉽게 사용할 수 있습니다. 이 유형의 데이터를 저장하려는 곳이 아닐 수도 있습니다. 그렇지 않다면, 그것은 비 솔루션입니다.

이것이 맞지 않는 경우, 기본값에서 파생 된 새 공급자를 만들기 위해 (이미 가지고있는 것을 상속하기 위해) 훌륭한 옵션입니다. 그리고 물론 궁극 http://codesmart.wordpress.com/2009/03/27/extending-the-microsoft-aspnet-membership-provider/

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top