Vb.net 具有并集和严格期权的转换问题
我对LINQ到SQL的联合有问题 我有我的LINQ查询Vb.net 具有并集和严格期权的转换问题,vb.net,linq-to-sql,union,Vb.net,Linq To Sql,Union,我对LINQ到SQL的联合有问题 我有我的LINQ查询 Dim dc As New ContainerDB.DataClassesDataContext() Dim test = (From container In dc.GetTable(Of tbl_container)() Where container.pkContainerID = iPkContainerID).Union( _ From containerHist In dc.Get
Dim dc As New ContainerDB.DataClassesDataContext()
Dim test = (From container In dc.GetTable(Of tbl_container)() Where container.pkContainerID = iPkContainerID).Union( _
From containerHist In dc.GetTable(Of tbl_containerHIST)() Where containerHist.pkContainerID = iPkContainerID)
我总是得到隐式转换错误
系统Linq.IQueryable(Of
集装箱b.tbl_containerHIST)in
System.Collections.Generic.IEnumerable(Of
集装箱b.待装运集装箱)
这个问题怎么了?
我错过了什么
提前感谢尝试打开
选项推断
。这将启用类型推断的使用,您似乎正在执行此操作:
Dim test =
编辑
此外,您还需要使用,以便可以比较tbl_容器和tbl_容器列表:
Dim test = (From container In dc.GetTable(Of tbl_container)()
Where container.pkContainerID = iPkContainerID
Select New With{ ... }).Union( _
From containerHist In dc.GetTable(Of tbl_containerHIST)()
Where containerHist.pkContainerID = iPkContainerID
Select New With{ ... })
嗨,复卷机,thx为您的输入。但它不起作用。“System.Data.Linq.DataQuery
1[ContainerDB.tbl_containerList]”无法转换为“System.Collections.Generic.IEnumerable
1[ContainerDB.tbl_container]”@SwissGuy:啊,问题似乎是tbl_containerList和tbl_container是两种不同的类型。联合体的返回应该是IEnumerable(of ContainerDB.tbl_container)。有可能将tbl_容器列表转换为tbl_容器列表吗?嘿,倒带器,CointainerList只有一列用于删除、更新。有没有办法访问这个?对于:Dim test=(来自dc.GetTable(属于tbl_容器)中的容器(),其中container.pkContainerID=iPkContainerID使用{.ContainerID=container.pkContainerID}选择New)。Union(From dc.GetTable中的containerList)(属于tbl_containerList)()其中containerHist.pkContainerID=iPkContainerID选择New With{.ContainerID=containerHist.pkContainerID}
@SwissGuy:可以访问它,但要成功实现联合,所有类型都需要具有相同的属性/列。