我正在使用 LinqToExcel 将大型 Excel 数据表导入 SQL Server 数据库表Employees2。我正在使用 EF4。Excel 中的日期字段(DOB 和许多其他)采用“MMddyyyy”格式。我在 Excel 中有很多字段,我在这里只显示 1 个映射。
var excel = new ExcelQueryFactory(excelPath);
excel.AddMapping<Employee2>(x => x.DOB, "DOB",
s => String.IsNullOrEmpty(s) ? DateTime.MinValue :
DateTime.ParseExact(s, @"MMddyyyy", CultureInfo.CurrentCulture.DateTimeFormat));
var employees = excel.Worksheet<Employee2>("Sheet1").ToList();
employees.ForEach(e => context.Employee2.AddObject(e));
context.SaveChanges();
代码抛出异常“字符串未被识别为有效的日期时间。 ”
在这行代码上: var employees = excel.Worksheet("Sheet1").ToList();
我的问题是:我如何才能捕获确切导致异常的记录?
例外没有说明哪条记录甚至哪个字段。
为了确保转换正常,我在命令窗口中运行:
DateTime.ParseExact("08012012", "MMddyyyy", CultureInfo.CurrentCulture.DateTimeFormat)
更新:
自己找到了解决方案: EF 异常:字符串或二进制数据将被截断。该语句已终止。?