Я новичок в .NET и создаю веб-службы. У меня сложный запрос Oracle, который должен выполняться при вызове служб. Я просто даю образец запроса ниже.Dapper для создания веб-службы
SELECT
STCD_PRIO_CATEGORY_DESCR.DESCR,
STRS_SESSION3.SESSION_NUM,
Trunc(STRS_SESSION3.START_DATE),
STRS_SESSION3.START_DATE,
Trunc(STRS_SESSION3.END_DATE),
Round((TO_DATE (TO_CHAR (STRS_SESSION3.END_DATE, 'dd/mm/yyyy hh24:mi'),'dd/mm/yyyy hh24:mi') - TO_DATE (TO_CHAR (STRS_SESSION3.START_DATE, 'dd/mm/yyyy hh24:mi'),'dd/mm/yyyy hh24:mi'))*1440),
STCD_ACT_DESCR4.DESCR,
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),
DECODE(SIGN((Trunc(ILRS_DOSE.RESULT_DATE)) - (
FROM
STPR_STD_ANML,
STPR_ANML,
STPR_OPTIONS,
STCD_ACT_DESCR STCD_ACT_DESCR4,
STCD_ACT_DESCR,
STCD_UNIT_DESCR,
STCD_UNIT_DESCR STCD_UNIT_DESCR2,
STCD_UNIT_DESCR STCD_UNIT_DESCR10,
STCD_ACT STCD_ACT4,
STCD_ACT,
WHERE
(STPR_STUDY.ID=STPR_STUDY_DET.STD_ID)
AND (STPR_STUDY_DET.STD_TYPE_ID=STCD_STUDY_TYPE.ID)
AND (STCD_STUDY_TYPE_DESCR.STUDY_TYPE_ID(+)=STCD_STUDY_TYPE.ID AND STCD_STUDY_TYPE_DESCR.LANG_ID(+) = 1)
AND (STPR_STUDY.ID=STPR_STD_SPECIES.STD_ID(+))
AND (STPR_STD_SPECIES.SPECIES_ID=STCD_SPECIES.ID(+))
AND (STPR_STD_SPECIES.STRAIN_ID=STCD_STRAIN.ID(+))
AND (STCD_SPECIES.ID=STCD_SPECIES_DESCR.SPECIES_ID(+) AND
STPR_STUDY.STD_REF IN (?)
Я кулачок через используя Чудной, но мой вопрос, как Щеголеватый будет возвращать результат, когда услуга называется (возможно есть данные, возвращаемые в формате JSON) также создать класс POCO Я не являюсь конечно, если тип каждого элемента является выбором, может быть строкой, или нам нужно будет указать соответствующий тип данных. Мои вопросы могут быть глупыми, я новичок в этом и ищу какую-то помощь. Спасибо
Благодаря Delosdos. Но разве мы не должны использовать get и set для этих столбцов? Как мы используем Dapper в нашем приложении, просто ссылаясь на них? – trx
Dapper автоматически заполнит объект для вас, если имена столбцов DB соответствуют именам свойств класса. Таким образом, вы бы добавили «public string DESCR;» и "public string SESSION_NUM;" к вашему классу, например – Delosdos
Спасибо Delosdos. Вы удивительны, но в столбце «Выбор» («TO_DATE» (TO_CHAR (STRS_SESSION3.END_DATE, «dd/mm/yyyy hh24: mi '),« dd/mm/yyyy hh24: mi »), вот несколько столбцов: - TO_DATE (TO_CHAR (ST_SESSION3.START_DATE, 'dd/mm/yyyy hh24: mi'), 'dd/mm/yyyy hh24: mi')) * 1440) 'Мне тоже нужно дать их одинаково – trx