c# – 使用CSVHelper映射IEnumerable属性
发布时间:2020-12-15 17:13:32 所属栏目:百科 来源:网络整理
导读:我有一类用户,可以有几个联系号码.我正在使用CsvHelper生成用户报告,该报告将创建用户姓名和联系人详细信息的CSV文件.每个联系号码都应显示在自己的列中,联系号码的类型为列标题. 下面我有我的ContactNumber和User类,以及应该格式化我的CSV文件的UserMap类:
|
我有一类用户,可以有几个联系号码.我正在使用CsvHelper生成用户报告,该报告将创建用户姓名和联系人详细信息的CSV文件.每个联系号码都应显示在自己的列中,联系号码的类型为列标题.
下面我有我的ContactNumber和User类,以及应该格式化我的CSV文件的UserMap类: public class ContactNumber
{
public string ContactType { get; set; }
public string Number { get; set; }
}
public class User
{
public string Name { get; set; }
public IEnumerable<ContactNumber> ContactNumbers{ get; set;}
}
public sealed class UserMap : CsvClassMap<User>
{
public UserMap()
{
Map(m => m.Name).Name("Username");
// Incorrect Code
Map(m => m.ContactNumbers).Name(c => c.ContactType);
}
}
我应该如何映射ContactNumbers的IEnumerable属性以实现我想要的结果? 解决方法
它不是
CsvHelper – read in multiple columns to a single list的副本,因为这个问题询问如何从模型转换为CSV而不是相反.我通过创建一个中间模型解决了这个问题.因此,首先将原始模型(用户)转换为模型(联系人)之间,然后映射该模型并创建CSV.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
