Dapper函数不映射存储过程中的字符串值,但正确映射其他值

时间:2016-06-29 08:56:14

标签: c# stored-procedures dapper

我有一个存储过程,它以下列格式返回数据:

  --limit-cpu value              Limit CPUs (default 0.000)
  --limit-memory value           Limit Memory (default 0 B)

唯一的字符串是"CompanyId"|"MetadataId"|"Mnemonic"|"Short"|"format"|"MetaDataType"|"lngValue"|"decValue"|"charValue"|"dateValue"|"blnValue"|"sOrder"|"version"|"Type"|"SortOrder"|"createdDate" Mnenomic。 SP也返回多行,这就是为什么我认为使用Short将是映射行的最佳方式。

我的数据映射类:

IEnumerable<MyClass>

调用我的SP并映射数据的方法:

public class CreditDataReport
    {
        public int CompanyId { get; set; }
        public int MetaDataId { get; set; }
        public string Mnenomic { get; set; }
        public string ShortDesc { get; set; }
        public int format { get; set; }
        public int MetaDataType { get; set; }
        public int lngValue { get; set; }
        public double decValue { get; set; }
        public string charValue { get; set; }
        public DateTime dateValue { get; set; }
        public int? blnValue { get; set; }
        public int SOrder { get; set; }
        public int version { get; set; }
        public int Type { get; set; }
        public int SortOrder { get; set; }
        public DateTime createdDate { get; set; }
    }

我的问题是,当我调用这个函数public IEnumerable<CreditDataReport> GetCreditRecommendation(int reportId) { dynamic result = connection.Query<CreditDataReport>("cor_CreditRatioDataXXGetByReportId", new { ReportId = reportId }, transaction: this.transaction, commandType: CommandType.StoredProcedure); return result; } 并在运行时遍历我的代码时,我看到所有数据都正确映射到var testing = GetCreditRecommendation(2).ToList();类中的相应值,除了两个字符串值CreditReportDataMnenomic

我的代码中缺少什么,我是否以错误的方式使用dapper?

1 个答案:

答案 0 :(得分:3)

Mnemonic!= Mnenomic(非常仔细地看)

Short!= ShortDesc