当谈到Linq to SQL时,我有点新手,但我希望你能提供帮助.我用扩展方法编写了以下Linq to SQL语句:
Cedb.ClassEvents.Where(c => c.ClassID == 1).Select(c => c).Single()
其中Cedb是Datacontext,ClassEvents是一个表(用于在工厂中保存的类和事件),ClassID是唯一的整数键.
此查询在LinqPad中运行正常(没有Cedb).当它返回时,它表示返回类型是"ClassEvent".在Visual Studio的Intellisense中,它告诉我此查询的返回类型是ClassEvent(在我的数据模型中创建).但是,当我尝试将结果放在变量中时:
var classEvent = Cedc.ClassEvents.Where(c.ClassID == 1).Select(c => c).Single();
然后我收到一个错误:InvalidCastException:指定的强制转换无效.如果我使用"ClassEvent"类代替var,也会发生同样的事情.我是新手,但这个看起来像是一个真正的扣篮,而不是一个错误.是否有一些我不知道导致错误的Single方法?任何帮助,将不胜感激!
Slace - 以及任何其他感兴趣的团体."无效的转换异常"错误的原因是基础数据模型的更改.smallint字段已更改为bit.因此,当系统试图将查询结果映射到"ClassEvent"数据结构时,模型(尚未更新)与数据表之间的冲突就出现了.
尽管如此,我确实很感激答案!