inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0

DB에서 조회된 다건의 데이터를 처리할 때

209

wltn07551

작성한 질문수 4

0

안녕하세요 강사님

저 강의를 다회차 보면서 궁금한 점이 생겨서요.

기존 코드

        public async Task<GetUserResponseDTO> GetUser(GetUserDTO getUserDTO)
        {

            var configuration = new MapperConfiguration(cfg => { });
            //Response..DTO 생성후 Controller로 전달

            // Perform mapping
            Mapper mapper = new Mapper(configuration);
            Dictionary<string, object> dc=mapper.Map<GetUserDTO,Dictionary<string, object> >(getUserDTO);
            dc.Remove("Password");
            ProcCall procCall= new ProcCall();
            DataTable dt = await procCall.RequestProcedure("sp_login", dc);

            GetUserResponseDTO dto = new GetUserResponseDTO();
            dto.Id = (int)dt.Rows[0]["id"];
            dto.Userid = dt.Rows[0]["userid"].ToString();
            dto.Username = dt.Rows[0]["Username"].ToString();
            dto.Point = (int)dt.Rows[0]["Point"];
            return dto;
        }

로그인 서비스의 관련하여 dto의 담기는 오브젝트가 적고 단 건이라 이러한 방식으로 처리가 가능한 것 같습니다. 해당 부분의 활용하여 다건의 데이터를 처리하기는 어려울 것 같은데 어떤 방식이 있는지 확인 가능할까요??

 

 

 

C# mvc rest-api 아키텍처 mssql ef-core asp.net-core

답변 1

0

개발자Park

안녕하세요 개발자park입니다.

다건 처리의 경우 Entity에서 DTO는 강의에서 소개됩니다. 15강 19:39

그러나 프로시저를 이용하는 경우

BLL에서 Controller로 전달시에 행수만큼 반복문을 통해 DTO생성 후 Collection에 담아줍니다.

public async Task<List<GetUserResponseDTO>> GetUsers()

{

}

Controller에서 받을 때 다음과 같이 해주시면 됩니다.

List<GetUserResponseDTO> userDtos = loginService.GetUsers();

그러나 때로는 실무에서 DTO생성을 생략 후 Controller에서 DataAccessLayer를 호출하기도 합니다.

감사합니다.

20) 16. 저장프로시저 쪽 new MapperConfiguration(cfg => { })

1

56

1

using (SqlConnection ~)을 하는 이유가 뭔가요?

0

115

2

이후 예정된 강의 문의를 드립니다

0

68

1

12_3강 AutoMapper 설명 중에 MapperConfiguration

2

87

1

Business Layer 종속성 추가 불가 문제

0

106

3

Console.WriteLine

0

62

1

iis 배포 후 view페이지 수정

0

132

2

8장 Controller 질문

0

80

2

DTO 여러개 대신 하나로

0

174

2

CS0618 SqlConnection

0

262

1

EF로 만든 프로젝트를 개발서버에 올리니, 처음 로딩속도가 많이 느리네요.

0

184

2

SqlConnection관련 질문

0

124

2

12강 듣던중...Controller.cs 질문입니다.

0

129

1

ASP.NET Core MVC를 비동기로 처리하는 이유가 무엇일까요?

0

221

1

프로젝트 배포 질문있습니다

0

147

2

MSSQL 설치 시 오류 발생

0

632

2

클래스 라이브러리 추가시

0

239

1

cshtml.css, cshtml.cs 비하인드 코드 추가 방법

0

416

1

로그인에서 받아온 Session을 활용하고 자 할 때

0

312

1

Request.Query는 배열로는 받을 수 없나요?

0

369

2

Single View Engine은 뭘까요?

0

195

1

Results API가 뭔가요?

0

231

1

QueryString 대소문자 구분

0

455

1

화면 단이 아닌 서비스 단에서 파라미터 추가

0

231

1