public ClickHouseQueryableMethodTranslatingExpressionVisitor( QueryableMethodTranslatingExpressionVisitorDependencies dependencies, RelationalQueryableMethodTranslatingExpressionVisitorDependencies relationalDependencies, IModel model) : base(dependencies, relationalDependencies, model) { _sqlTranslator = relationalDependencies.RelationalSqlTranslatingExpressionVisitorFactory.Create(model, this); }
/// <summary> /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to /// the same compatibility standards as public APIs. It may be changed or removed without notice in /// any release. You should only use it directly in your code with extreme caution and knowing that /// doing so can result in application failures when updating to a new Entity Framework Core release. /// </summary> public RelationalProjectionBindingExpressionVisitor( [NotNull] RelationalQueryableMethodTranslatingExpressionVisitor queryableMethodTranslatingExpressionVisitor, [NotNull] RelationalSqlTranslatingExpressionVisitor sqlTranslatingExpressionVisitor) { _queryableMethodTranslatingExpressionVisitor = queryableMethodTranslatingExpressionVisitor; _sqlTranslator = sqlTranslatingExpressionVisitor; _includeFindingExpressionVisitor = new IncludeFindingExpressionVisitor(); }
public RelationalProjectionBindingExpressionVisitor( [NotNull] RelationalQueryableMethodTranslatingExpressionVisitor queryableMethodTranslatingExpressionVisitor, [NotNull] RelationalSqlTranslatingExpressionVisitor sqlTranslatingExpressionVisitor, [NotNull] IModel model) { _queryableMethodTranslatingExpressionVisitor = queryableMethodTranslatingExpressionVisitor; _sqlTranslator = sqlTranslatingExpressionVisitor; _model = model; }
public RelationalProjectionBindingExpressionVisitor( [NotNull] RelationalQueryableMethodTranslatingExpressionVisitor queryableMethodTranslatingExpressionVisitor, [NotNull] RelationalSqlTranslatingExpressionVisitor sqlTranslatingExpressionVisitor) { _queryableMethodTranslatingExpressionVisitor = queryableMethodTranslatingExpressionVisitor; _sqlTranslator = sqlTranslatingExpressionVisitor; _includeFindingExpressionVisitor = new IncludeFindingExpressionVisitor(); _selectExpression = null !; _existingProjections = Array.Empty <SqlExpression>(); }
private static Dictionary <String, MethodInfo> CreateOriginalMethods(RelationalSqlTranslatingExpressionVisitor originalVisitor) { var originalMethods = new Dictionary <String, MethodInfo>(); foreach (MethodInfo methodInfo in originalVisitor.GetType().GetMethods(BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)) { if (methodInfo.IsVirtual) { originalMethods.Add(methodInfo.Name, methodInfo); } } return(originalMethods); }
public RelationalSqlTranslatingExpressionVisitor Create(IModel model, QueryableMethodTranslatingExpressionVisitor queryableMethodTranslatingExpressionVisitor) { RelationalSqlTranslatingExpressionVisitor originalVisitor = _originalFactory.Create(model, queryableMethodTranslatingExpressionVisitor); return(new FixSqlServerSqlTranslatingExpressionVisitor(_dependencies, model, queryableMethodTranslatingExpressionVisitor)); }
public ClickHouseQueryableMethodTranslatingExpressionVisitor(QueryableMethodTranslatingExpressionVisitorDependencies dependencies, RelationalQueryableMethodTranslatingExpressionVisitorDependencies relationalDependencies, QueryCompilationContext queryCompilationContext) : base(dependencies, relationalDependencies, queryCompilationContext) { _sqlTranslator = relationalDependencies.RelationalSqlTranslatingExpressionVisitorFactory.Create(queryCompilationContext, this); }
public FixSqlServerSqlTranslatingExpressionVisitor(RelationalSqlTranslatingExpressionVisitorDependencies dependencies, IModel model, QueryableMethodTranslatingExpressionVisitor queryableMethodTranslatingExpressionVisitor, RelationalSqlTranslatingExpressionVisitor originalVisitor) : base(dependencies, model, queryableMethodTranslatingExpressionVisitor) { _originalVisitor = originalVisitor; _originalMethods = CreateOriginalMethods(originalVisitor); }