这是我的代码
var result = (from row1 in table.AsEnumerable()
join row2 in tabelPopup.AsEnumerable()
on row1.Field<string>("CallID") equals
row2.Field<string>("callID")
where row1.Field<string>("Direction") == "I"
select new
{
Agent = row1.Field<string>("Agent"),
StartTime = row1.Field<DateTime>("StartTime"),
Reason = row2.Field<string>("Reason")
});
其中table
和tablePopup
是数据表变量。
我遇到了这个例外:
Specified cast is not valid
关于此代码:
new
{
Agent = row1.Field<string>("Agent"),
StartTime = row1.Field<DateTime>("StartTime"),
Reason = row2.Field<string>("Reason")
}
答案 0 :(得分:2)
确保您的列定义与您在row1.field&lt;&gt;中使用的类型相匹配。即代理是字符串,StartTime是datetime,Reason是字符串。这可能是由于StartTime不是日期时间类型。
答案 1 :(得分:1)
可能StartTime
不属于DateTime
类型。因此,您会收到此异常。尝试转换它。如果这是正确的,您应该将其转换为DateTime
或只检索字符串值。