假設我有一個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