0

각각의 리포지토리가 엔티티에 있음을 알고있는 경우
내가 있고 ProductService가 있으면 현재 제품의 이미지를 가져와야합니다. 리포지토리가 없습니다. 이미지.
그리고 내 제품 repositoy는 제품 엔터티의 책임이 있습니다.
리포지토리가 DTO 개체를 인식하지 못하기 때문에 엔티티 개체 만 반환됩니다.
간단히 어떻게 이미지 엔티티를 반환 할 수 있습니까? 현재 선택된 제품 이미지를 어떻게 얻을 수 있습니까?On Service Layer 하나의 엔티티를 담당하는 저장소에서 몇 개의 엔티티를 반환하는 방법

제품과 이미지 사이 외래 키.

그러나 제품에는 데이터베이스에 10.000 이미지 행이있을 수 있습니다.

은 내가 나를 만족 didnt한다 내가 어쩌구 저쩌구 .. 나누었다을 Product.Images 시도 10

별로 10 된 IQueryable 데이터가 필요합니다.

아니면 새로운 ImageRepository를 만들어 제품 서비스에 삽입해야합니까?

그런 다음 BaseRepository 내부의 필터링 된 방법으로 사용하십시오.

어떻게 디자인 할 수 있습니까?

답변

0

제품 저장소 만 남겨 두십시오. BaseRepository 대신 인터페이스를 허용하도록 서비스 계층을 변경할 수 있습니다. 이 인터페이스는 EF 또는 다른 유형 (EF \ ORM 저장소가 아닌)을 처리 할 수 ​​있습니다. 기존 BaseRepository (예 : ReSharper)에서 인터페이스를 생성하여이를 도울 수있는 리팩토링 도구가 있습니다.

+0

제품 저장소를 혼자두고 있습니다. 그런 다음 Ibaserepository를 구현하는 Base 저장소에 몇 가지 사용자 지정 메서드를 추가합니다. 그러나 이러한 함수에는 정적 엔티티가 있습니다. 그들은 일반적이지 않습니다. 실행 중 일반 BaseRepository 은 제품 서비스로 호출하기 때문에 제품 엔터티이기 때문에. 거기에 정적 개체로 고정. 어쩌면 어떤 사람이 더 좋은 생각을 가지고 있습니다! –