假设我有一个TmpClass类,我使用这个类从Excel表格中使用LinqToExcel ExcelQueryFactory返回数据。在这个类中,我需要实现一些逻辑来检查数据的正确性。当我使用ExcelQueryFactory从Excel工作表中检索数据时,它返回ExcelQueryable(从IQueryalbe继承)。可能存在多个TmpClass实例的验证问题 - 我如何在集合样式中处理它们?如何验证IQueryable <T>集合中的项目的错误?
类为Excel表单数据映射
public class TmpClass
{
private string _name;
public string Name
{
set {
if (string.IsNullOrWhiteSpace(value))
{
throw new ArgumentException("Value can not be null/whitespace!");
}
_name = value;
}
}
}
检索从Excel表单数据与LinqToExcel ExcelQueryFactory
..initialize ExcelQueryFactory instance, get column names, set column mapping
//retrieve data
var dataFromExcel = excel.Worksheet<TmpClass>(...worksheet name).ToList();
当读取Excel工作表的行,对其中一些TmpClass.Name设定器的函数会抛出ArgumentException - 我需要一种方法来处理所有的Excel工作表行:
- 对具有ArgumentException的行(日志记录)执行一些操作
- 并对具有有效数据的行执行一些其他操作。
我可以得到一个无效项目的集合(也许有异常信息)吗?我可以收到有效物品的集合吗?
感谢您领导正确的方向 - 我会将验证移出设置方法 – Prokurors 2015-03-06 16:29:00