Ich bin neu in. NET und Erstellen der Web-Services. Ich habe eine komplexe Oracle-Abfrage, die ausgeführt werden muss, wenn die Dienste aufgerufen werden. Ich gebe nur das Beispiel der Abfrage unten.Dapper zum Erstellen eines Web-Service
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 (?)
ich cam über mit Dapper, aber meine Frage ist, wie der Dapper wird das Ergebnis zurück, wenn der Dienst aufgerufen wird (es ist möglich, die Daten im JSON-Format zurückgegeben hat) auch die POCO-Klasse erstellen ich nicht bin Sicher, wenn der Typ jedes Elements ist die Auswahl kann String sein oder wir müssen den entsprechenden Datentyp geben. Meine Fragen könnten albern sein, ich bin neu und auf der Suche nach etwas Hilfe. Danke
Dank Delosdos. Aber müssen wir nicht das Get und das Set für diese Spalten verwenden? Wie verwenden wir den Dapper in unserer Anwendung, die nur auf sie verweist? – trx
Dapper wird das Objekt automatisch für Sie füllen, wenn die DB-Spaltennamen mit den Klasseneigenschaftsnamen übereinstimmen. Du würdest also "public string DESCR" hinzufügen. und "öffentliche Zeichenfolge SESSION_NUM;" zu Ihrer Klasse, zum Beispiel – Delosdos
Danke Delosdos. Du bist großartig, aber nur wenige Spalten sind in der Select-Abfrage 'Round' (TO_DATE (TO_CHAR (STRS_SESSION3.END_DATE, 'TT/MM/JJJJ hh24: mi'), 'TT/MM/JJJJ hh24: MI') - TO_DATE (TO_CHAR (STRS_SESSION3.START_DATE, 'tt/mm/jjjj hh24: mi'), 'tt/mm/jjjj hh24: mi')) * 1440) 'Muss ich ihnen auch auf die gleiche Weise geben – trx