私はエンティティフレームワークで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 ALL ではなく UNION を使用させる方法はありますか (実際には見つかりません)。
==========
1: を追加し<T>
て精度を高める