0

执行以下代码时出现运行时错误:(vb.net)

dim q = (From x in db.T1
         select x.F11, x.F12).Union( _
        (From y in db.T2
         select y.F21, y.F22)

F11和F21同类型;F21 和 F22 具有相同的类型。

运行时错误指出“无法从 DataQuery(匿名类型(...))转换为 iEnumerable(匿名类型...

4

2 回答 2

0

Union匿名类型应该可以工作。编译器足够智能,可以将两个匿名类型相同。仔细检查您在两个表数据库中的字段类型,它们应该完全相同

您可以在同一张桌子上尝试联合以查看此内容

(From x in db.T1
         select FIRST=x.F11, SECOND=x.F21).Union( _
        (From y in db.T1
         select FIRST=y.F11, SECOND=y.F21)
于 2012-09-06T09:26:14.687 回答
0

我现在明白在Union中允许使用匿名类型IS。 - 您只需要确保联合查询中的字段名称类型相同,如示例中所示:

dim q = (From x in db.T1
         Select FIRST = x.F11, LAST = x.F12).Union _
        (From y in db.T2
         Select FIRST = y.F21, LAST = y.F22) 

F11和F21同类型;F12、F22同类型

于 2012-09-06T17:27:13.827 回答