2009-04-19 4 views
0

첫 번째 NHibernate 응용 프로그램을 작성하고 있지만이 질문은 모든 ORM 프레임 워크에 적용됩니다. 내 응용 프로그램은 간단한 버그 추적기 (devs 모두 문제 도메인을 이해하고 있습니까?)이며 DAL에서 Project/Ticket 관계를 가장 효과적으로 모델링하는 방법이 궁금합니다. Project에는 복수 Ticket가 있습니다. TicketProject으로 소유해야합니다. FindAllSave, Delete은, 그래서 내가 interface IProjectRepository : IRepository<Project>이 함께 데이터 액세스 계층이 부모 - 자식 관계로 어떤 모습이어야합니까?

내가 본 모든 예

IRepository<T> 보여줍니다.

제 질문은 다음과 같습니다 : 티켓에 대해 이야기하는 방법을 알고있는 ITicketRepository이 있습니까? 아니면 IProjectRepository에 대해 알아야 할 사항입니까?

아니면 완전히 잘못된 나무를 짖고 있습니까? 누군가가 DAL과 부모 - 자식 관계를 모델링 한 몇 가지 예제 코드에서 나를 가리킬 수 있습니까?

답변

0

당신이 티켓의 목록만을 다룰 예정이라면 IRepository 저장소에두고 싶을 것입니다. 또한 티켓 엔티티를 프로젝트 엔티티에 추가하고 티켓을 게으른로드 할 수 있습니다. 이 방법으로 IRepository에서 프로젝트를 검색 할 수 있습니다. 모든 티켓을 원한다면이 컬렉션을 누르십시오. 단, 항공권을 그냥 지나면 IRepository를 통해 작업 할 수 있습니다.

+0

하지만 두 개의 저장소 인터페이스가 있습니까, 아니면 하나만 있습니까? 전체 IRepository 패턴은 엔티티 유형 당 하나씩 있어야 함을 의미합니다. –

+0

엔티티마다 하나씩 있어야한다고 생각 하겠지만, 그렇다고해서 게으른로드 콜렉션을 이용할 수 없다는 의미는 아닙니다. –