Oracle Db에 연결할 매개 변수를 사용하여 서비스를 만들려고하는데 복잡한 쿼리를 실행하고 결과를 JSON 형식으로 반환해야합니다. 나는 이것으로 도움이 될 Dapper ORM을 확인하고있었습니다. 쿼리가 복잡으로 Dapper 클래스 속성 이름에 return 데이터 유형이 있습니다. C#
SELECT
SICD_PRIO_CATEGORY_DESCR.DESCR,
STRS_SESSION3.SESSION_NUM,
Trunc(STRS_SESSION.START_DATE),
STRS_SESSION3.START_DATE,
STCD_ACT_DESCR4.DESCR AS DOSE_ACTIVITY,
decode((decode(sign((DECODE(SIGN((Trunc(ILRS_DOSE.RESULT_DATE)) - (trunc(STPR_STD_ANML.START_DATE))),-1,(Trunc(ILRS_DOSE.RESULT_DATE)) - (trunc(STPR_STD_ANML.START_DATE)),(Trunc(ILRS_DOSE.RESULT_DATE)) - (trunc(STPR_STD_ANML.START_DATE))+(STPR_OPTIONS.VALUEN)))),-1,'Y',0,'N','N')), 'N', Decode ((STPR_OPTIONS.VALUEN), '1', trunc(((DECODE(SIGN((Trunc(ILRS_DOSE.RESULT_DATE)) - (trunc(STPR_STD_ANML.START_DATE))),-1,(Trunc(ILRS_DOSE.RESULT_DATE)) - (trunc(STPR_STD_ANML.START_DATE)),(Trunc(ILRS_DOSE.RESULT_DATE)) - (trunc(STPR_STD_ANML.START_DATE))+(STPR_OPTIONS.VALUEN)))-1) /7)+1, '0', trunc((DECODE(SIGN((Trunc(ILRS_DOSE.RESULT_DATE)) - (trunc(STPR_STD_ANML.START_DATE))),-1,(Trunc(ILRS_DOSE.RESULT_DATE)) - (trunc(STPR_STD_ANML.START_DATE)),(Trunc(ILRS_DOSE.RESULT_DATE)) - (trunc(STPR_STD_ANML.START_DATE))+(STPR_OPTIONS.VALUEN)))/7)), 'Y', (trunc(((DECODE(SIGN((Trunc(ILRS_DOSE.RESULT_DATE)) - (trunc(STPR_STD_ANML.START_DATE))),-1,(Trunc(ILRS_DOSE.RESULT_DATE)) - (trunc(STPR_STD_ANML.START_DATE)),(Trunc(ILRS_DOSE.RESULT_DATE)) - (trunc(STPR_STD_ANML.START_DATE))+(STPR_OPTIONS.VALUEN))) +1)/ 7)-1) , -999) AS RESULT_WEEK
그래서 다른 질문에서 나는 열 이름도 클래스 속성 데이터 유형과 일치한다는 것을 발견했다.
public class StudyData
{
public string DESCR,
public string SESSION_NUM
}
반환 유형을 모든 열에 대해 문자열로 지정할 수 있거나 특정 반환 유형이어야 할 수 있습니다. 또한 DateTime은 C#에서 Date Datatype을 볼 수 없기 때문에 두 날짜 (18-DEC-12 및 18-DEC-12 07.52.25.977272000 AM -08 : 00)를 참조합니다. C# 프로그래밍을 처음 접했을 때 어떤 도움도 크게 받으실 수 있습니다.
문제는 아마 모범 사례에 위배되는 공개 필드 일 것입니다 ... 당신은 그 속성을 만들어야합니다. public string DESCR {get; 세트; }'. –
이 쿼리를 한 곳에서만 사용하는 경우 동적 결과를 사용하여 실제 DTO에 매핑하는 것이 좋습니다 ... 보내려는 JSON 객체를 따라야하는 스펙이 있습니까? – konkked
konkked, 이것들은 쿼리의 일부입니다. 쿼리를 실행해야 할 필요가 더 복잡합니다. JSON 객체에 대한 사양은 없으며 요청 응답은 JSON 형식으로 쿼리 응답을 얻을 수 있는지 묻는 것입니다. – trx