我将 Linq 与实体框架一起使用。
GetSet1<T>().Union(GetSet2<T>())
GetSetX 返回 IQueryable。
生成的 SQL 是 UNION ALL。但我知道 UNION 是实现我的目标的好方法。其实我的解决方法是:
GetSet1<T>().Union(GetSet2<T>()).Distinct()
在这种情况下,生成的 sql 如下:
select distinct Field...
from (
select distinct Field...
union all
select distinct Field...
) unionall
我知道(因为这是人们认为的方式)
select Field...
union
select Field...
是最好的查询。那么有没有办法(我不能(实际上找不到)让 EntityFramework 使用 UNION 而不是 UNION ALL ?
==========
1:添加<T>
更精确