반응형

스페시피케이션 패턴의 단점 중 하나는 콘텍스트에서 기보제공하는 기능의 일부를 사용할 수 없다는 점입니다. 스페시피케이션 패턴에 필터링기능을 추가하는 방법을 보겠습니다.
지네릭 레포지토리 패턴 설정하기
관계형 데이터 불러오기 (참조 데이터 포함) - 지네릭 레포지토리 패턴
엔티티프레임워크를 사용하여 관계형 테이블에서 참조하는 데이터를 포함하여 데이터를 불러오는 방법을 보겠습니다. 구현하기 애플리케이션 생성 .NET web-API 생성하기 개발도구 설치하기 .NET
jin-co.tistory.com
코어 프로젝트에 아이템 리스트를 가져오는 메서드에 필터링에 사용될 매개변수 (보기에서 'targetId'와 'typeId')를 옵션을 추가하고 베이스 스페시피케이션의 Where구문을 활용하는 베이스를 추가합니다
: base(x =>
(!targetId.HasValue || x.ItemTargetId == targetId) &&
(!typeId.HasValue || x.ItemTypeId == typeId)
)

컨트롤러로 이동하여 필터링에 사용할 매개변수를 옵션으로 추가하고 코어 프로젝트에 아이템이 적용하는 클래스에 전달합니다

실행
작업이 완료되면 API 폴더로 이동하여
cd /API
아래 명령어로 앱을 실행합니다.
dotnet watch

이상으로 스페시피케이션 패턴에서 필터링기능을 추가하는 방법을 보았습니다.
728x90
반응형
'백엔드 > 닷넷' 카테고리의 다른 글
지네릭 레포지토리 스페시피케이션 패턴 - 검색기능 추가하기 (0) | 2023.04.25 |
---|---|
지네릭 레포지토리 스페시피케이션 패턴 - 페이지네이션 추가하기 (0) | 2023.04.24 |
지네릭 레포지토리 스페시피케이션 패턴 - 정렬기능 추가하기 (0) | 2023.04.23 |
에이피아이 - 에러응답 형식 통일하기 (3) | 2023.04.21 |
스웨거 (5) | 2023.04.19 |