Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.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
C# Linq到Excel-对象必须实现IConvertible错误_C#_Linq_Linq To Excel - Fatal编程技术网

C# Linq到Excel-对象必须实现IConvertible错误

C# Linq到Excel-对象必须实现IConvertible错误,c#,linq,linq-to-excel,C#,Linq,Linq To Excel,下面的代码显示了此错误 对象必须实现IConvertible 当我在LINQ表达式中添加where子句以比较DateTime字段时 我试图使用Convert.ToDateTime(c.ETC)>=startday但仍然是相同的错误 var excel = new ExcelQueryFactory(excelfilename); excel.AddMapping<BulkMovementItem>(x => x.ETC, "ETC"); var newrailtruckmov

下面的代码显示了此错误

对象必须实现IConvertible

当我在LINQ表达式中添加where子句以比较
DateTime
字段时

我试图使用Convert.ToDateTime(c.ETC)>=startday但仍然是相同的错误

var excel = new ExcelQueryFactory(excelfilename);
excel.AddMapping<BulkMovementItem>(x => x.ETC, "ETC");

var newrailtruckmovements = (from c in excel.Worksheet<BulkMovementItem>(sheetname)                  
    where c.ETC > new DateTime(2015, 7, 1) 
    select c);

您只需将类中的
ETC
类型更改为
DataTime
。图书馆将完成其余工作:

public class BulkMovementItem {
    // some fields...
    public DateTime ETC { get; set; }
    // rest of fields...
}
这将起作用:

var rows = from c in excel.Worksheet<BulkMovementItem>(sheetname)                  
           where c.ETC > new DateTime(2015, 7, 1) 
           select c;
var rows=来自excel.Worksheet(sheetname)中的c
其中c.ETC>新日期时间(2015年7月1日)
选择c;

ETC的类型是什么??发布
BulkMovementItem
的定义会有所帮助。我假设这就是库?如果你能在你的问题中包含这一点,那会很有帮助。我猜
ETC
是一个字符串?在这种情况下,您将需要.ETC是一个字符串字段。
var rows = from c in excel.Worksheet<BulkMovementItem>(sheetname)                  
           where c.ETC > new DateTime(2015, 7, 1) 
           select c;