inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

해결된 질문

231

wltn07551

작성한 질문수 4

0

안녕하세요 선생님

소스에서 MSSQL로 파라미터를 전달하는 부분에 관련해서 질문드리고 싶습니다.

 

질문 1

지금은 view 단에서 파라미터를 받아서 가져가고 있는데 서비스단에서 파라미터를 추가할 수 있는 방법이 있을까요?

제가 이전에 하위 버전의 솔루션에서 사용했던 파라미터 전송 방식입니다.

        internal DataTable CommonSearch(string div, string strwhere)
        {
            string sSpName = "SP_Common";
            string gubun = "마스터 코드";

            string[] pParam = new string[3];
            pParam[0] = "@gb:" + gubun;
            pParam[1] = "@div:" + div;
            pParam[2] = "@strwhere:" + strwhere;

            DataTable dt = _bllSpExecute.SpExecuteTable(sSpName, gubun, pParam);

            return dt;
        }

기존에는 이런 방식을 차용해서 파라미터 전송을 했는데 지금 전달 주신 부분에서는 저 구분을 어떤 방식으로 보내야 할 지 감이 안 옵니다...

        //로그인 뷰
        public async Task<GetUserResponseDTO> GetUser(GetUserDTO getUserDTO)
        {
            // auto mapper로 {}사용하여 동적 개체 수령
            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);
            //-----> 이 부분에 삽입해서 전달 하는 방법?
            ProcCall procCall = new ProcCall();
            DataTable dt = await procCall.RequestProcedure("SP_Login", dc);

            GetUserResponseDTO dto = new GetUserResponseDTO();
            dto.gubun = "S";
            //dto.Id = (int)dt.Rows[0]["id"];
            dto.UserId = dt.Rows[0]["UserId"].ToString();
            dto.Password = dt.Rows[0]["Password"].ToString();
            return dto;
        }

여기 서비스 단에서 담아서 보낼 수 있을까요?

 

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

답변 1

1

개발자Park

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

 

[질문1=답변]

어떤 것을 원하시는지 모르겠지만요.

Dictionary<string, object> abc = new Dictionary<string, object>();

//-----> 이 부분에 삽입해서 전달 하는 방법?

abc.Add(키, 값);

키와 값 형태로 넣을 수 있긴 합니다.

보통 많이들 DAL호출전에 보낼 데이터를 정리합니다.

 

그리고 질문에 적으신 코드

DataTable dt = _bllSpExecute.SpExecuteTable(sSpName, gubun, pParam);
이러한 프로시저 호출방법으로 많이들 사용하기도해서 기존 소스코드를 사용하시는 것도 나쁘지 않습니다.

감사합니다.

 

0

wltn07551

감사합니다 add (키,값) 으로 시도해 보겠습니다!

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

128

1

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

0

221

1

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

0

147

2

MSSQL 설치 시 오류 발생

0

632

2

클래스 라이브러리 추가시

0

239

1

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

0

209

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