我如何使用 CsvContext.Read<T>() 读取包含不在您使用 .NET 读取的类中的列的 CSV?

问题描述

我有一个包含私有字段的业务对象类,这些字段填充在构造函数

private int mP_Id;
private int mP_MerchantId;
private int mP_ProductId;
private decimal mP_Price;
private int mP_StockCount;
private string mP_Condition;
private bool mP_Published;
private int? mP_ConditionId;
private string mP_URL;
private string mP_CurrencyCode;
private DateTime? mP_DateUpdated;
private bool mP_Active;
private string mP_MerchantProductIdentifier;
private int? mP_ApiProductFoundId;

我有一个包含这些列的 CSV 文件,但还有其他列,这些列将在业务逻辑中用于从另一个数据库表中检索正确的 mP_ProductId。

如果我使用 CsvContext.Read<T>(),它会抛出一个异常,告诉我在我的业务对象中找不到额外的列。

                var cc = new CsvContext();
                var relationships = cc.Read<MerchantProductRelBO>(file.FilePath,inputFileDescription);

我尝试放置这些额外的字段并重载 MerchantProductRelBO.custom.cs 中的构造函数,但它仍然没有使用重载的构造函数并抛出相同的异常。我无法在 MerchantProductRelBO.cs 中执行此操作,因为该文件会在数据库结构发生更改时被覆盖。

我是否只需要放弃 LinqToCsv 库并编写一个手动解析器来从 CSV 中读取数据,或者有没有办法让它在不抛出异常的情况下解析额外的 BO 列?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)