Dapper函数没有';t映射存储过程中的字符串值,但正确映射其他值

本文关键字:映射 字符串 其他 过程中 存储 函数 Dapper 存储过程 | 更新日期: 2023-09-27 17:53:08

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

"CompanyId"|"MetadataId"|"Mnemonic"|"Short"|"format"|"MetaDataType"|"lngValue"|"decValue"|"charValue"|"dateValue"|"blnValue"|"sOrder"|"version"|"Type"|"SortOrder"|"createdDate"

唯一的字符串是MnenomicShort。SP还返回多行,这就是为什么我认为使用IEnumerable<MyClass>是映射行的最佳方式。

我的数据映射类:

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; }
    }

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

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();这样的函数并在运行时遍历代码时,我发现除了两个字符串值MnenomicShort之外,所有数据都正确地映射到了CreditReportData类中的相应值。

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

Dapper函数没有';t映射存储过程中的字符串值,但正确映射其他值

Mnemonic!=Mnenomic(仔细看(

Short!=ShortDesc