Linq를 사용하여 리포지토리 외부의 쿼리를 구성하면서도 리치 외부의 엔티티에 노출/누출없이 데이터베이스에서 데이터를 필터링 할 수 있습니까? 분명히 Query() 메서드 나 심지어 스펙 객체의 매개 변수로 lamba 표현식을 만들 수는 있지만 저장소에서 사용되는 데이터 공급자에 상관없이 효율적인 임시 쿼리를 만들기 위해 Linq를 사용하려고합니다. 예를 들어저장소 외부에서 Linq를 사용할 수 있고 데이터베이스 내부에서 여전히 필터를 사용할 수 있습니까?
:
var myProductID = myRepo.Query()
.Where(p => p.color.Contains("green"))
.Select(p => p.ID.ToString());
개념은 상호 배타적 인 것 같다.
일부 EF Linq 쿼리 *는 Linq와 객체를 같은 구문으로 사용할 때 다르게 작동합니다 (예 : SequenceEqual vs == 바이트 배열에서). 매우 누출 된 추상화입니다. – BrokenGlass
@BrokenGlass : 뛰어난 점. – jason