具有返回数据类型C#的Dapper Class属性名称

时间:2016-07-19 17:49:30

标签: c# dapper

我正在尝试使用一个参数创建服务,该参数将连接到Oracle Db执行复杂查询,并应以JSON格式返回结果。我正在检查Dapper ORM会对此有所帮助。由于查询很复杂

 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

enter image description here

所以在另一个问题中,我发现Column名称应该与class属性匹配,也与数据类型匹配。

public class StudyData
{
 public string DESCR,
 public string SESSION_NUM
}

返回类型可以是所有列的字符串,还是需要特定的返回类型。此外,DateTime将同时引用两个日期(如18-DEC-12和18-DEC-12 07.52.25.977272000 AM -08:00),因为我在C#中看不到日期数据类型。我是C#编程的新手,非常感谢任何帮助

1 个答案:

答案 0 :(得分:1)

属性的数据类型应与列的数据类型匹配。例如,如果您的Id列具有int数据类型,则类中的属性必须具有int数据类型。

public int Id{ get; set; }

C#确实有datetime数据类型,请使用datetime作为保存日期数据的列的数据类型。

public datetime createdDate { get; set; }

在你的情况下

public class StudyData
    {
        public string DESCR { get; set; }
        public string SESSION_NUM { get; set; }
        public DateTime START_DATE { get; set; }
        public int RESULT_WEEK { get; set; }
    }

这可能是一个可能的班级蓝图。希望它有所帮助。