2011-01-11 2 views
0

저는 ASP 웹 애플리케이션을 구축 중이며 잠시 동안 코드 숨김 페이지에서 호출되는 linq 쿼리를 포함하는 쿼리라는 네임 스페이스가 있습니다. 전체 사이트에는 처음에는 약 40 개의 쿼리가 포함됩니다. 나중에 더 추가 될 것입니다.linq 디자인 패턴

내 모든 쿼리를 하나의 큰 네임 스페이스에 보관해야합니까, 아니면 각 페이지의 쿼리에 대한 네임 스페이스를 만들어야합니까? 예를 들어, QueriesPageA, QueriesPageB, QueriesPageC ... 그리고 약 10 개의 작은 네임 스페이스로 끝납니다.

감사합니다.

답변

0

마치 business logic layer 인 것처럼 들립니다.

LINQ to SQL 또는 Entity Framework를 사용하는 경우 비즈니스 도메인을 가깝게 나타내는 엔티티 클래스 모음이 이미 있습니다.

내 쿼리를 정적 메서드로 엔터티 클래스에 추가하는 것을 선호합니다. 이렇게하면 내 쿼리가 깔끔하게 분산되어 (하나의 거대한 비즈니스 논리 클래스로 끝나지 않고) 쉽게 찾을 수 있습니다 (사용자 집합을 검색하는 쿼리는 User 클래스에 살게됩니다).

쿼리가 집계 또는 보고서 (예 : 판매 된 쿠키 수량을 연도별로 그룹화 한 경우)를 생성하는 경우 일반적으로 보고서에 대해 새 클래스를 만듭니다. 그렇게하면 보고서는 MVC 아키텍처에서 잘 작동하는 모델이됩니다.

0

나는 그것들을 나누는 것이 좋은 생각이지만, 원래 사용했던 페이지 대신에 그들이 반환하는 데이터를 기반으로 네임 스페이스를 만드는 것이 더 읽기 쉽고 혼란스럽지 않을 것이라고 생각합니다. MyApp.Queries.Customers, MyApp.Queries.Orders.