DB에서 조회된 다건의 데이터를 처리할 때
209
작성한 질문수 4
안녕하세요 강사님
저 강의를 다회차 보면서 궁금한 점이 생겨서요.
기존 코드
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의 담기는 오브젝트가 적고 단 건이라 이러한 방식으로 처리가 가능한 것 같습니다. 해당 부분의 활용하여 다건의 데이터를 처리하기는 어려울 것 같은데 어떤 방식이 있는지 확인 가능할까요??
답변 1
0
안녕하세요 개발자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





