Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework LinqToExcel“;字符串未被识别为有效的日期时间";-如何捕捉细节?_Entity Framework_C# 4.0_Linq To Excel - Fatal编程技术网

Entity framework LinqToExcel“;字符串未被识别为有效的日期时间";-如何捕捉细节?

Entity framework LinqToExcel“;字符串未被识别为有效的日期时间";-如何捕捉细节?,entity-framework,c#-4.0,linq-to-excel,Entity Framework,C# 4.0,Linq To Excel,我正在使用LinqToExcel将大型Excel数据表导入SQL Server数据库表Employees2。我正在使用EF4。Excel中的日期字段(DOB和许多其他)采用“MMddyyyy”格式。我在Excel中有很多字段,我只在这里显示1个映射 更新: 我自己找到了解决方案: 您需要下载并使用源代码重新运行查询。然后,您可以在异常时中断,并查看导致问题的实际行和值。使用F5调试时,它将在异常时中断,请参见s在excel电子表格中查找s的值。DOB列是否不仅返回日期时间值?我看不到您的问题与

我正在使用LinqToExcel将大型Excel数据表导入SQL Server数据库表Employees2。我正在使用EF4。Excel中的日期字段(DOB和许多其他)采用“MMddyyyy”格式。我在Excel中有很多字段,我只在这里显示1个映射


更新:

我自己找到了解决方案:

您需要下载并使用源代码重新运行查询。然后,您可以在异常时中断,并查看导致问题的实际行和值。

使用F5调试时,它将在异常时中断,请参见s在excel电子表格中查找s的值。DOB列是否不仅返回日期时间值?我看不到您的问题与您找到的解决方案之间的任何联系。你复制了一个错误的链接吗?哦,日期时间问题-那是另外一回事。Excel工作表的空白区域已加载,Excel单元格为空,没有日期值。。。真正的问题是当你调用SaveChanges时——我在那篇文章的链接中提到了多个异常。我的问题是:如何捕获导致异常的确切记录?而解决方案——SQL分析器,您不能使用EF来实现这一点。为什么?这个异常似乎发生在他的代码中——在lambda表达式中。应该能够看到细节,而不必下载任何东西。
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();
DateTime.ParseExact("08012012", "MMddyyyy", CultureInfo.CurrentCulture.DateTimeFormat)