首页 > 其他 > 详细

linq 指定的转换无效

时间:2016-03-20 23:48:55      阅读:344      评论:0      收藏:0      [点我收藏+]

错误描述:

捕捉到 System.InvalidCastException
  Message="指定的转换无效。"

  在 System.Data.SqlClient.SqlBuffer.get_Int32()
   在 System.Data.SqlClient.SqlDataReader.GetInt32(Int32 i)
   在 Read_NewsM(ObjectMaterializer`1 )
   在 System.Data.Linq.SqlClient.ObjectReaderCompiler.ObjectReader`2.MoveNext()
   在 System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   在 System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   在 TeaMvc.Models.DataAccess.NewsDA.GetByCategory(Int32 cateID) 位置 D:\zczVSCode\TeaSite\TeaMvc\Models\DataAccess\NewsDA.cs:行号 94

解决:

来回跟踪了一下,期间有一次数据读取正常。反复比对数据库表,发现是某一字段在用对象原型时是用枚举(枚举默认为int32),而数据表的数据类型是tinyint,更改 enum:byte 后,数据读取正常。

注意:在用linq时,一定要保证数据库表和对象原型的数据类型一致,要不就会出现“指定转换无效异常”。

linq 指定的转换无效

原文:http://www.cnblogs.com/zhanghai/p/5300061.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!