저는 Linq를 entity-framework와 함께 사용합니다.EF : Linq가 UNION ALL 대신 UNION을 사용하도록 강제하는 방법이 있습니까
GetSet1<T>().Union(GetSet2<T>())
GetSetX는 IQueryable을 반환합니다.
생성 된 SQL은 UNION ALL입니다. 그러나 UNION이 내 목표를 달성하는 좋은 방법이라는 것을 알고 있습니다. 사실 내 해결 방법은 다음과 같습니다
select Field...
union
select Field...
이입니다
select distinct Field...
from (
select distinct Field...
union all
select distinct Field...
) unionall
나는 (그 때문에 방법은 thinked 된 경우) 알고
것을 : 는GetSet1<T>().Union(GetSet2<T>()).Distinct()
이 경우 생성 된 SQL과 같은 것입니다 최고의 쿼리. 그래서 UNION ALL을 EntityFramework 사용 UNION이 아니라 할 수있는 방법이 (내가 (t 실제로 찾을 수 있습니다) 거기에
==========
1 : 더 정밀
의<T>
추가
두 세트가 이미 분명히 구분되어있을 수 있습니까? 비록 EF가 그것을 이해할만큼 충분히 똑똑 할 지 모르지만. – usr