所以我得到了Item
类型的集合,我试图将这些值映射到CSV文件,但是无法正常工作。它很好地映射了这些值。ItemName
SubTitle
Price
[ C0]Condition
Quantity
QuantitySold
,然后不再映射。我认为这是因为其他两个属性是集合。ProductImage
和List
这是我当前的映射方式。
Dictionary
而且问题似乎是CsvHelper无法正确映射字典,这使这变得更加困难。我读过,使其动态化或类似方法可能对此有所帮助?因为它使用了using (var mem = new MemoryStream())
using (var writer = new StreamWriter(mem))
using (var csvWriter = new CsvWriter(writer, CultureInfo.CurrentCulture))
{
csvWriter.Configuration.Delimiter = ",";
csvWriter.Configuration.HasHeaderRecord = true;
csvWriter.Configuration.AutoMap<Item>();
csvWriter.WriteHeader<Item>();
csvWriter.WriteRecords(Products);
writer.Flush();
var result = Encoding.UTF8.GetString(mem.ToArray());
File.WriteAllText("Items.csv", result);
Console.WriteLine(result);
}
? ExpandoObject
现在,我不知道如何正确执行此操作,我是否要分别映射所有字段?
这里也是模型
https://stackoverflow.com/a/22997553/11966121
您应该可以使用class Item
{
public string ItemName { get; set; }
public string SubTitle { get; set; }
public string Price { get; set; }
public string Condition { get; set; }
public Dictionary<string, List<string>> SKU { get; set; }
public string Quantity { get; set; }
public string QuantitySold { get; set; }
public string ProductImage { get; set; }
public List<string> ProductImages { get; set; }
}
和ClassMap
创建它。
ConvertUsing