탐색 속성을 통해 관련 엔터티가있는 일종의 일반 쿼리 작성기를 만들려고합니다. 그래서 저는 다음과 같이 말하고 싶습니다 :관련된 엔터티에 대한 람다 식 트리
var results = from entityA in context.entityAs
where entityA.NavigationPropertyB.PropertyZ = value1
group entityA by entityA.NavigationPropertyC.PropertyY into g
select new { propertyY = g.Key, value = g.OperatorD(x=>x.PropertyX)}
여기서 엔티티 A, 관련 속성 및 연산자는 즉시 제공 될 수 있습니다. 나는 주어진 엔티티 타입에 대한 프로퍼티들의 컬렉션을 얻고 그것들을 사용하여 다이나믹 쿼리의 람다 표현 트리를 만들 것을 생각하고 있었다.
a) 작동합니까? 그것은 합리적인가?
b) 관련 엔터티에 대한 속성을 포함하여 쿼리하려는 모든 속성을 하나의 컬렉션으로 가져 오는 쉬운 방법이 있습니까?
c) 런타임시 전달되는 관련 엔터티를 포함하여 쿼리 트리가 어떻게 표시됩니까?
필자는 Dynamic Linq로 시작하겠다. 장점은 is가 이미 구현되어 있다는 것입니다. 쿼리는 문자열로 전달되므로 동적 Where 절은'.Where ("NavigationProperty.PropertyZ = \"value1 \ "")'가됩니다. –