执行以下代码时出现运行时错误:(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(匿名类型...
执行以下代码时出现运行时错误:(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(匿名类型...
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)
我现在明白在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同类型