繁体   English   中英

System.InvalidCastException:指定的强制转换无效(linq查询)

[英]System.InvalidCastException: Specified cast is not valid (linq query)

指定的强制转换在第1行无效错误:选择新的File.Models.FileDetail()。 代码中的DTTT是数据表,FileDetial是Model中的一个类,具有Filename,Dt,receivedcount,status参数。 我检查了所有的字段数据类型,它们是正确的。 不知道为什么我得到这个错误。

return (from row in DTTT.AsEnumerable()
                        select new File.Models.FileDetail()
                         {
                             Filename = row.Field<string>("name"),
                             Dt = row.Field<DateTime?>("Dt"),
                             ReceivedCount = row.Field<int?>("count"),
                             status = row.Field<string>("status")

                         }

                    ).ToList();

您应该可以将其TimeSpanTimeSpan

 Dt = row.Field<TimeSpan>("Dt");

要么

Dt = (DateTime)(row.Field<DateTime>("Dt") == DBNull.Value ? DateTime.MinValue :row.Field<DateTime>("Dt"));

我的“ DT”字段的Dbtype是char,在我的模型中,ReceivedCount属性字段声明为Datetime。 因此,存在无效的强制转换异常。 将我的模型字段数据类型更改为字符串有效。 感谢大家。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM