다음을 통해 공유


QueryableMethodTranslatingExpressionVisitor 클래스

정의

쿼리에서 쿼리 가능한 메서드를 변환하는 클래스입니다.

이 형식은 일반적으로 데이터베이스 공급자(및 기타 확장)에서 사용됩니다. 일반적으로 애플리케이션 코드에는 사용되지 않습니다.

public abstract class QueryableMethodTranslatingExpressionVisitor : System.Linq.Expressions.ExpressionVisitor
type QueryableMethodTranslatingExpressionVisitor = class
    inherit ExpressionVisitor
Public MustInherit Class QueryableMethodTranslatingExpressionVisitor
Inherits ExpressionVisitor
상속
QueryableMethodTranslatingExpressionVisitor
파생

설명

자세한 내용 과 예제는 데이터베이스 공급자 및 확장 구현 및 EF Core 쿼리 작동 방법을 참조하세요.

생성자

QueryableMethodTranslatingExpressionVisitor(QueryableMethodTranslatingExpressionVisitorDependencies, Boolean)

쿼리에서 쿼리 가능한 메서드를 변환하는 클래스입니다.

이 형식은 일반적으로 데이터베이스 공급자(및 기타 확장)에서 사용됩니다. 일반적으로 애플리케이션 코드에는 사용되지 않습니다.

QueryableMethodTranslatingExpressionVisitor(QueryableMethodTranslatingExpressionVisitorDependencies, QueryCompilationContext, Boolean)

QueryableMethodTranslatingExpressionVisitor 클래스의 새 인스턴스를 만듭니다.

속성

Dependencies

이 서비스에 대한 종속성입니다.

QueryCompilationContext

현재 컴파일에 대한 쿼리 컴파일 컨텍스트 개체입니다.

TranslationErrorDetails

번역 중에 발생한 오류에 대한 자세한 정보입니다.

메서드

AddTranslationErrorDetails(String)

번역 중에 발생한 오류에 대한 자세한 정보를 추가합니다.

CreateShapedQueryExpression(IEntityType)

ShapedQueryExpression 지정된 엔터티 형식에 대한 을 만듭니다.

CreateShapedQueryExpression(Type)
사용되지 않음.

ShapedQueryExpression 모델에서 해당 엔터티 형식을 찾아 지정된 형식에 대한 을 만듭니다.

CreateSubqueryVisitor()

를 통해 TranslateSubquery(Expression)하위 쿼리를 번역하도록 사용자 지정된 방문자를 만듭니다.

MarkShaperNullable(Expression)

지정된 셰이퍼 식의 엔터티 쉐이퍼를 nullable로 표시합니다.

Translate(Expression)

식을 동등한 SQL 표현으로 변환합니다.

TranslateAll(ShapedQueryExpression, LambdaExpression)

지정된 원본에 대해 메서드를 변환합니다 All<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) .

TranslateAny(ShapedQueryExpression, LambdaExpression)

지정된 원본에 Any<TSource>(IQueryable<TSource>) 대한 메서드 및 기타 오버로드를 변환합니다.

TranslateAverage(ShapedQueryExpression, LambdaExpression, Type)

지정된 원본에 Average(IQueryable<Decimal>) 대한 메서드 및 기타 오버로드를 변환합니다.

TranslateCast(ShapedQueryExpression, Type)

지정된 원본에 대해 메서드를 변환합니다 Cast<TResult>(IQueryable) .

TranslateConcat(ShapedQueryExpression, ShapedQueryExpression)

지정된 원본에 대해 메서드를 변환합니다 Concat<TSource>(IQueryable<TSource>, IEnumerable<TSource>) .

TranslateContains(ShapedQueryExpression, Expression)

지정된 원본에 대해 메서드를 변환합니다 Contains<TSource>(IQueryable<TSource>, TSource) .

TranslateCount(ShapedQueryExpression, LambdaExpression)

지정된 원본에 Count<TSource>(IQueryable<TSource>) 대한 메서드 및 기타 오버로드를 변환합니다.

TranslateDefaultIfEmpty(ShapedQueryExpression, Expression)

지정된 원본에 DefaultIfEmpty<TSource>(IQueryable<TSource>) 대한 메서드 및 기타 오버로드를 변환합니다.

TranslateDistinct(ShapedQueryExpression)

지정된 원본에 대해 메서드를 변환합니다 Distinct<TSource>(IQueryable<TSource>) .

TranslateElementAtOrDefault(ShapedQueryExpression, Expression, Boolean)

ElementAt<TSource>(IQueryable<TSource>, Int32) 메서드를 변환하거나 ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) 지정된 원본을 통해 변환합니다.

TranslateExcept(ShapedQueryExpression, ShapedQueryExpression)

지정된 원본에 대해 메서드를 변환합니다 Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) .

TranslateFirstOrDefault(ShapedQueryExpression, LambdaExpression, Type, Boolean)

지정된 원본에 First<TSource>(IQueryable<TSource>) 대한 메서드 또는 FirstOrDefault<TSource>(IQueryable<TSource>) 및 기타 오버로드를 변환합니다.

TranslateGroupBy(ShapedQueryExpression, LambdaExpression, LambdaExpression, LambdaExpression)

지정된 원본에 GroupBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) 대한 메서드 및 기타 오버로드를 변환합니다.

TranslateGroupJoin(ShapedQueryExpression, ShapedQueryExpression, LambdaExpression, LambdaExpression, LambdaExpression)

지정된 원본에 대해 메서드를 변환합니다 GroupJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,IEnumerable<TInner>,TResult>>) .

TranslateIntersect(ShapedQueryExpression, ShapedQueryExpression)

지정된 원본에 대해 메서드를 변환합니다 Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) .

TranslateJoin(ShapedQueryExpression, ShapedQueryExpression, LambdaExpression, LambdaExpression, LambdaExpression)

지정된 원본에 대해 메서드를 변환합니다 Join<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>) .

TranslateLastOrDefault(ShapedQueryExpression, LambdaExpression, Type, Boolean)

지정된 원본에 Last<TSource>(IQueryable<TSource>) 대한 메서드 또는 LastOrDefault<TSource>(IQueryable<TSource>) 및 기타 오버로드를 변환합니다.

TranslateLeftJoin(ShapedQueryExpression, ShapedQueryExpression, LambdaExpression, LambdaExpression, LambdaExpression)

지정된 원본을 통해 LeftJoin을 변환합니다.

TranslateLongCount(ShapedQueryExpression, LambdaExpression)

지정된 원본에 LongCount<TSource>(IQueryable<TSource>) 대한 메서드 및 기타 오버로드를 변환합니다.

TranslateMax(ShapedQueryExpression, LambdaExpression, Type)

지정된 원본에 Max<TSource>(IQueryable<TSource>) 대한 메서드 및 기타 오버로드를 변환합니다.

TranslateMin(ShapedQueryExpression, LambdaExpression, Type)

지정된 원본에 Min<TSource>(IQueryable<TSource>) 대한 메서드 및 기타 오버로드를 변환합니다.

TranslateOfType(ShapedQueryExpression, Type)

지정된 원본에 대해 메서드를 변환합니다 OfType<TResult>(IQueryable) .

TranslateOrderBy(ShapedQueryExpression, LambdaExpression, Boolean)

지정된 원본을 OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) 통해 또는 OrderByDescending<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) 메서드를 변환합니다.

TranslateResultSelectorForJoin(ShapedQueryExpression, LambdaExpression, Expression, Type)
사용되지 않음.

조인 작업에 대한 결과 선택기를 변환합니다.

TranslateReverse(ShapedQueryExpression)

지정된 원본에 대해 메서드를 변환합니다 Reverse<TSource>(IQueryable<TSource>) .

TranslateSelect(ShapedQueryExpression, LambdaExpression)

지정된 원본에 대해 메서드를 변환합니다 Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) .

TranslateSelectMany(ShapedQueryExpression, LambdaExpression)

지정된 원본에 대해 메서드를 변환합니다 SelectMany<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,IEnumerable<TResult>>>) .

TranslateSelectMany(ShapedQueryExpression, LambdaExpression, LambdaExpression)

지정된 원본에 대해 메서드를 변환합니다 SelectMany<TSource,TCollection,TResult>(IQueryable<TSource>, Expression<Func<TSource, IEnumerable<TCollection>>>, Expression<Func<TSource,TCollection, TResult>>) .

TranslateSingleOrDefault(ShapedQueryExpression, LambdaExpression, Type, Boolean)

지정된 원본에 Single<TSource>(IQueryable<TSource>) 대한 메서드 또는 SingleOrDefault<TSource>(IQueryable<TSource>) 및 기타 오버로드를 변환합니다.

TranslateSkip(ShapedQueryExpression, Expression)

지정된 원본에 대해 메서드를 변환합니다 Skip<TSource>(IQueryable<TSource>, Int32) .

TranslateSkipWhile(ShapedQueryExpression, LambdaExpression)

지정된 원본에 대해 메서드를 변환합니다 SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) .

TranslateSubquery(Expression)

지정된 하위 쿼리를 변환합니다.

TranslateSum(ShapedQueryExpression, LambdaExpression, Type)

지정된 원본에 Sum(IQueryable<Decimal>) 대한 메서드 및 기타 오버로드를 변환합니다.

TranslateTake(ShapedQueryExpression, Expression)

지정된 원본에 대해 메서드를 변환합니다 Take<TSource>(IQueryable<TSource>, Int32) .

TranslateTakeWhile(ShapedQueryExpression, LambdaExpression)

지정된 원본에 대해 메서드를 변환합니다 TakeWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) .

TranslateThenBy(ShapedQueryExpression, LambdaExpression, Boolean)

지정된 원본을 ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>) 통해 또는 ThenByDescending<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>) 메서드를 변환합니다.

TranslateUnion(ShapedQueryExpression, ShapedQueryExpression)

지정된 원본에 대해 메서드를 변환합니다 Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) .

TranslateWhere(ShapedQueryExpression, LambdaExpression)

지정된 원본에 대해 메서드를 변환합니다 Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) .

VisitConstant(ConstantExpression)

쿼리에서 쿼리 가능한 메서드를 변환하는 클래스입니다.

이 형식은 일반적으로 데이터베이스 공급자(및 기타 확장)에서 사용됩니다. 일반적으로 애플리케이션 코드에는 사용되지 않습니다.

VisitExtension(Expression)

쿼리에서 쿼리 가능한 메서드를 변환하는 클래스입니다.

이 형식은 일반적으로 데이터베이스 공급자(및 기타 확장)에서 사용됩니다. 일반적으로 애플리케이션 코드에는 사용되지 않습니다.

VisitMethodCall(MethodCallExpression)

쿼리에서 쿼리 가능한 메서드를 변환하는 클래스입니다.

이 형식은 일반적으로 데이터베이스 공급자(및 기타 확장)에서 사용됩니다. 일반적으로 애플리케이션 코드에는 사용되지 않습니다.

적용 대상