Vb.net 发生无效的强制转换异常
我得到以下错误: 发生无效的强制转换异常 无法强制转换类型为“System.Data.Linq.DataQuery”1[WindowsApplication1.DesignSpec]的对象 键入“WindowsApplication1.DesignSpec” 关于以下测试代码:Vb.net 发生无效的强制转换异常,vb.net,linq,visual-studio-2012,Vb.net,Linq,Visual Studio 2012,我得到以下错误: 发生无效的强制转换异常 无法强制转换类型为“System.Data.Linq.DataQuery”1[WindowsApplication1.DesignSpec]的对象 键入“WindowsApplication1.DesignSpec” 关于以下测试代码: Dim prodSku As String = "11037" Dim designSpec As DesignSpec = From row In dbLocal.DesignSpecs Where row.Name
Dim prodSku As String = "11037"
Dim designSpec As DesignSpec = From row In dbLocal.DesignSpecs Where row.Name = prodSku Select row
我到处寻找,尝试了很多选择,但显然不是正确的选择。如果您能帮助我使用正确的语法,我们将不胜感激
向您致以亲切的问候,并提前感谢您的帮助
附言:我知道这听起来有点俗气,但这是我的第一篇帖子(希望我已经充分发布了)。我已经遵循了许多非常有用的线索,但我不能放弃任何投票,因为我没有信誉点——真的!如果这是一个足够好的问题,也许每个人都会投票给我,给我足够的声望点数,这样我就可以回报其他人的帮助。再次感谢 Linq查询将返回一个集合(属于
DesignSpec
),而您正试图将其分配给单个实例
您需要对提取单个实例的集合应用筛选器—例如,single()
,SingleOrDefault()
,First()
,FirstOrDefault()
,等等,这取决于基于查询的预期输出最有意义的内容
请记住,如果查询恰好返回多个实例,则使用
单个
变量将导致异常,而第一个
变量将处理此ok,因为它们只返回找到的第一个实例。Linq查询将返回一个集合(属于设计规范
),而您正试图将其分配给单个实例
您需要对提取单个实例的集合应用筛选器—例如,single()
,SingleOrDefault()
,First()
,FirstOrDefault()
,等等,这取决于基于查询的预期输出最有意义的内容
请记住,如果查询恰好返回多个实例,则使用
单个
变量将导致异常,而第一个
变量将处理此确定,因为它们只返回找到的第一个实例。您尚未实际执行查询。描述了如何执行查询
要实际执行查询,请使用:
返回第一个匹配元素或nullFirstOrDefault()
返回匹配元素或null(这将检查是否只有一个匹配元素)。如果有多个匹配元素,将引发异常SingleOrDefault()
First()
Single()
返回第一个匹配元素或nullFirstOrDefault()
返回匹配元素或null(这将检查是否只有一个匹配元素)。如果有多个匹配元素,将引发异常SingleOrDefault()
First()
Single()