부모 탐색 속성에 대한 C # 식 트리 매개 변수

c# entity-framework expression-trees lambda

문제

1에서 * Navigation 속성의 부모 측면에 대한 ParameterExpression은 어떻게 만들 수 있습니까?

하위 엔티티에 대한 다음 작업은 다음과 같습니다.

var parameter = Expression.Parameter(
    typeof(T), // where T is the entity type
    GetParameterName()); // helper method to get alias

TParent에서 비슷한 것을 시도하면 Context에서 시작된 쿼리가 자식의 속성이 아닙니다.

람다 등가물은 다음과 같습니다.

var q = from f in context.Foo 
        where f.Bar.BarId == 1...
         // where bar is the Navigation Property to the parent

명확성을 위해 편집 :

다음을 사용하여 속성에서 멤버 표현식을 만듭니다.

Expression exp = Expression.Equal(
    Expression.Property(parameter, "SomeColumn"),
    Expression.Constant("SomeValue"));

그래서이 경우에는 ParameterExpression 대신 MemberExpression을 사용해야합니다.

전문가 답변

좀 혼란 스럽네요. ".Bar" ParameterExpression 이 아니며 MemberExpression 입니다. f 는 매개 변수입니다. 네가하고 싶은 것이 정확히 무엇인가?

한 가지 옵션은 샘플 코드를 리플렉터에로드하고 .NET 3.5 힌트를 돌려서 어떻게 수행 하는지를 읽는 것입니다.이 코드는 여기 코드처럼 보이지만 일반적으로 따라하기 쉽습니다.



Related

아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow