c.ClassID == 1-6ren">
gpt4 book ai didi

linq-to-sql - 使用Linq to SQL时为什么会得到 "Invalid Cast"?

转载 作者:行者123 更新时间:2023-12-03 16:18:59 24 4
gpt4 key购买 nike

关于SQL的Linq,我还是个新手,但我希望您能提供帮助。我已经使用扩展方法编写了以下Linq to SQL语句:

Cedb.ClassEvents.Where(c => c.ClassID == 1).Select(c => c).Single()

其中Cedb是数据上下文,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方法,我不知道会导致错误吗?任何帮助,将不胜感激!

最佳答案

斯莱克斯-和任何其他感兴趣的方面。 “无效的转换异常”错误的原因是基础数据模型中的更改。一个smallint字段已更改为bit。因此,当系统尝试将查询结果映射到“ClassEvent”数据结构上时,模型(尚未更新)与数据表之间出现冲突。

尽管如此,我还是很感谢您的回答!

关于linq-to-sql - 使用Linq to SQL时为什么会得到 "Invalid Cast"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/434204/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com