CSVHelper没有正确映射本地

时间:2017-02-28 15:54:32

标签: c# asp.net-mvc-4 csvhelper

我正在尝试使用csvHelper将对象数组写入mvc4中的csv。 我的控制器代码看起来像这样

public FileResult ExportAudits()
{
   var memoryStream = new MemoryStream();
   var streamWriter = new StreamWriter(memoryStream);
   var csvWriter = new CsvWriter(streamWriter);
   UserAudit[] audits = auditDal.GetUserAudits().ToArray<UserAudit>();
   csvWriter.Configuration.RegisterClassMap<UserAuditMap>();
   csvWriter.WriteRecords(audits);
   streamWriter.Flush();
   memoryStream.Position = 0;
   return File(memoryStream, "text/csv", "Changes.csv");
}

我的Mapping类看起来像这样

public sealed class UserAuditMap : CsvClassMap<UserAudit>
{
    public UserAuditMap()
    {
        Map(m => m.Action);
        Map(m => m.ActionDetail);
        Map(m => m.UserProfile.FirstName);
    }
}

我打开csv文件时遇到的问题是,只有标题包含Action,ActionDetail和FirstName,但数据行仍然具有所有值。看起来Mapper没有效果。我传递给csvHelper的类不是实际的UserAudit实体,而是实体的动态代理。这确实有效果。我的问题是如何正确映射动态代理实体。

I have an example below of expected vs actual value

0 个答案:

没有答案