2010-02-04 1 views
2

내가 할 싶은 것 :
1. 사용자가 선택한 기준에 따라 임의의 LINQ 쿼리를 작성을하는 것입니다
3. NHibernate에 DetachedCriteria에 쿼리를 변환하는 프록시 모음 (외관)에 대한
2. 쿼리 및 직렬화 OR 단지 LINQ 식 직렬화하고
4.
6. 대해 SQL 쿼리를 실행
5. 서비스 구현은 NHibernate에 프록시에 대해 쿼리를 실행 WCF 통해 서버로 직렬화 된 쿼리를 보내 데이터베이스
7. 쿼리 결과를 반환하고을 반환합니다. 8. 자 NHibernate는
제 WCF는 직렬화 포항 강판의 집합으로 결과를 변환 한 후 (외관) 프록시 컬렉션
10 반품하는 마지막
11 반환 클라이언트 코드 결과.WCF를 통해 NHibernate DetachedCriteria 또는 LINQ-NHibernate 표현식을 더 잘 serialize 할 수 있습니까?

마치 미친 정도의 단계처럼 보이지만 클라이언트가 WCF를 통해서만 서버와 대화하는 것은 필수 사항입니다.

이 질문의 첫 부분은 "클라이언트가 데이터베이스에 직접 액세스 할 수 없다는 것을 명심하고 다른 아키텍처로 더 쉽게 해결할 수있는 바보 같은 짓을하고 있습니까?"라고 생각합니다.

질문의 두 번째 부분은 쿼리를 DetachedCriteria으로 직렬화하려고 시도하는 데 드는 두통이 적을 지 또는 사용 가능한 표현식 트리 순차 화기 중 하나를 사용하여 LINQ를 NHibernate 쿼리로 직렬화 할 수 있는지 여부입니다.

나는 이 아닙니다. 코드에서 HQL 또는 T-SQL을 작성하고 싶습니다.

+0

:-) 이유는 단지에 구축 한 후 WCF를 통해 문자열 사전 또는 훨씬 간단 뭔가 쿼리 기준을 통과 할 수 있는가 서버 측 NHibernate Criteria API? 이 클라이언트 측 쿼리 기능은 얼마나 유연해야합니까? –

+0

주제에서 벗어나지 만 WCF RIA 서비스를 확인하십시오. – Neil

답변

0

안녕하세요 제이, 어때요! 음, WCF와 동적 클라이언트 쿼리 기능이 강력한 요구 사항이라면 이것이 좋은 계획이라고 생각합니다. 언급 한 표현식 serializer는 확실히 내가 고집 할 수있는 퍼즐 중 하나입니다.

다른 잠재적 인 부분은 nhibernate에 대해 실제로 이러한 표현식을 적용하는 것과 관련됩니다. 필자는 nhibernate를 사용한 적이 한번도 없었지만 프레임 워크가 생성하지 않은 POCO에 대해 쿼리 표현식을 작성하면 엔티티 프레임 워크와 같은 것이므로 문제가 발생합니다. 어제 발표 된 새로운 오픈 소스 프로젝트있다

: 당신이 된 IQueryable (. 즉, 당신의 POCO)를 만들 수있는 DataQueryProxy이라고 LIB의 기능
http://boostmap.codeplex.com/

하나는하지만, 모든 표현 IQueryable (즉, 귀하의 nHibernate 유형)에 프록시 될 것입니다.

이 당신을 도울 것입니다 확실하지만, 행운을하지

관련 문제