-repository
데이터베이스에서 데이터를 검색하기 위해 접미사로 묶인 별개의 클래스 를 사용하고 있습니다. 각 테이블마다 자체 저장소가 있습니다.
예를 들어 customerrepository
고객을 검색하는 모든 종류의 메소드가 있고 클래스를 vacancyrepository
사용하여 공석을 검색 하는 클래스가 있습니다 .
이 일을하는 방법에 대한 두 가지 질문이 있습니다.
여러 테이블에 걸쳐있는 데이터를 가져 오는 것은 어떻습니까? 예를 들어 공석을 만들지 않은 모든 고객을 보여주는 화면이 있습니다. 의
customerrepository
메소드를 사용vacancyrespository
하거나 두 저장소 모두에서 결과를 리턴 할 수 있고dataservice
두 저장소 모두에서 결과를 가져 와서 1 개의 결과로 결합 하는 계층 구조의 상위 클래스 (이름은 a )가 있습니까?그러한 저장소가 처리 할 수있는 로직은 얼마입니까?
활성 레코드 만 검색하기 위해 리포지토리에서 'where active == true'를 구현하는 것이 좋다고 생각합니까, 아니면 간단한 로직을 계층 구조에서 더 높은 클래스로 처리해야dataservice
합니까 ( 이름을 a로 지정 )?
내가 지금 시작한 예는 다음과 같습니다.
하나 이상의 질문이 포함 된 질문 목록이 있습니다.
질문은 결과를 가질 수 있으며 이는 별도의 테이블에 보유됩니다.
따라서 질문 목록의 전체 결과를 검색하려면 questionlist
테이블, 질문 테이블 및 테이블의 데이터를 결합 해야 questionstatus
합니다.
지금 우리는이 테이블을위한 3 개의 다른 저장소를 가지고 있습니다.
questionlistrepository
목록 번호 12의 총 결과 가 무엇인지 묻는다면 다른 두 저장소에서 데이터를 가져와야하므로 논리가 있어야합니까?
또는 questionlistdataservice
어떤 저장소를 사용할지 아는 사람이 있습니까?
한 가지 더 : 우리의 리포지토리는 IQueryable
호출 서비스가 결과를 쉽게 결합 할 수 있도록 결과를 가져올 수 있지만, 그렇지 않은 경우는 어떻습니까? 세 가지 테이블의 모든 내용을 검색하는 것이 좋은 생각은 아닙니다. 데이터 베이스.