为什么 CSV Helper 使用 ASP.Net MVC 只读取第一行?

Why only the first row is read by the CSV Helper using ASP.Net MVC?

我在使用 CSVHelper 读取 CSV 文件时遇到问题,因为它只有 returns csv 的第一行带有 header。

我在读取 CSV 文件时使用了这段代码。

 using (var reader = new StreamReader(filePath))
 using (var csv = new CsvReader(reader))
 {
     csv.Configuration.RegisterClassMap<FundTransferMapSingle>();
     var json = JsonConvert.SerializeObject(csv.GetRecords<FundTransferSingle>());
 }

我为此使用了一些映射

public class FundTransferMapSingle : ClassMap<FundTransferSingle>
    {
        public FundTransferMapSingle()
        {
            Map(m => m.senderRefId).Name("senderRefId");
            Map(m => m.transRequestDate).Name("transRequestDate");
            Map(m => m.particulars).Name("particulars");

            Map(m => m.sender).ConvertUsing(row =>
            {
                var senderlist = new List<Sender>
                {
                    new Sender { name = row.GetField("senderName"),
                                 address = new List<Address>
                                    {
                                        new Address {line1 = row.GetField("senderAddrLine1"),
                                            line2 = row.GetField("senderAddrLine2"),
                                            city = row.GetField("senderAddrCity"),
                                            province = row.GetField("senderProvince"),
                                            zipCode = row.GetField("senderAddrZipcode"),
                                            country = row.GetField("senderAddrCountry")}
                                    }
                               }
                };
                return senderlist;
            });

}

这是我正在阅读的 CSV 文件

senderRefId,transRequestDate,particulars,senderName,senderAddrLine1
TRANSFER0001,2018-08-10T08:40:45.897,particulars,Name1,Address1
TRANSFER0002,2018-08-10T08:40:45.897,particulars,Name2,Address2

我通过我的变量json得到结果。

尝试使用 CsvReader 将数据加载到数据表中:

DataTable csvTable = new DataTable();
using (CsvReader csvReader = new CsvReader(new StreamReader(stream), true))
{
    csvTable.Load(csvReader);
}

然后从数据表中得到json:

using Newtonsoft.JSON;  

public string DataTableToJSONWithJSONNet(DataTable table) {  
   string JSONString=string.Empty;  
   JSONString = JSONConvert.SerializeObject(table);  
   return JSONString;  
}