Vb.net 具有并集和严格期权的转换问题

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

我对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.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:可以访问它,但要成功实现联合,所有类型都需要具有相同的属性/列。