Пример #1
0
    public NpgsqlMethodCallTranslatorProvider(
        RelationalMethodCallTranslatorProviderDependencies dependencies,
        IModel model,
        INpgsqlOptions npgsqlOptions)
        : base(dependencies)
    {
        var sqlExpressionFactory = (NpgsqlSqlExpressionFactory)dependencies.SqlExpressionFactory;
        var typeMappingSource    = (NpgsqlTypeMappingSource)dependencies.RelationalTypeMappingSource;
        var jsonTranslator       = new NpgsqlJsonPocoTranslator(typeMappingSource, sqlExpressionFactory, model);

        LTreeTranslator = new NpgsqlLTreeTranslator(typeMappingSource, sqlExpressionFactory, model);

        AddTranslators(new IMethodCallTranslator[]
        {
            new NpgsqlArrayTranslator(sqlExpressionFactory, jsonTranslator, npgsqlOptions.UseRedshift),
            new NpgsqlByteArrayMethodTranslator(sqlExpressionFactory),
            new NpgsqlConvertTranslator(sqlExpressionFactory),
            new NpgsqlDateTimeMethodTranslator(typeMappingSource, sqlExpressionFactory),
            new NpgsqlFullTextSearchMethodTranslator(typeMappingSource, sqlExpressionFactory, model),
            new NpgsqlFuzzyStringMatchMethodTranslator(sqlExpressionFactory),
            new NpgsqlJsonDomTranslator(typeMappingSource, sqlExpressionFactory, model),
            new NpgsqlJsonDbFunctionsTranslator(typeMappingSource, sqlExpressionFactory, model),
            new NpgsqlLikeTranslator(sqlExpressionFactory),
            LTreeTranslator,
            new NpgsqlMathTranslator(typeMappingSource, sqlExpressionFactory, model),
            new NpgsqlNetworkTranslator(typeMappingSource, sqlExpressionFactory, model),
            new NpgsqlNewGuidTranslator(sqlExpressionFactory, npgsqlOptions.PostgresVersion),
            new NpgsqlObjectToStringTranslator(sqlExpressionFactory),
            new NpgsqlRandomTranslator(sqlExpressionFactory),
            new NpgsqlRangeTranslator(typeMappingSource, sqlExpressionFactory, model),
            new NpgsqlRegexIsMatchTranslator(sqlExpressionFactory),
            new NpgsqlStringMethodTranslator(typeMappingSource, sqlExpressionFactory, model),
            new NpgsqlTrigramsMethodTranslator(typeMappingSource, sqlExpressionFactory, model),
        });
    }
Пример #2
0
 public NpgsqlSqlTranslatingExpressionVisitor(
     [NotNull] RelationalSqlTranslatingExpressionVisitorDependencies dependencies,
     [NotNull] QueryCompilationContext queryCompilationContext,
     [NotNull] QueryableMethodTranslatingExpressionVisitor queryableMethodTranslatingExpressionVisitor)
     : base(dependencies, queryCompilationContext, queryableMethodTranslatingExpressionVisitor)
 {
     _sqlExpressionFactory = (NpgsqlSqlExpressionFactory)dependencies.SqlExpressionFactory;
     _jsonPocoTranslator   = ((NpgsqlMemberTranslatorProvider)Dependencies.MemberTranslatorProvider).JsonPocoTranslator;
     _ltreeTranslator      = ((NpgsqlMethodCallTranslatorProvider)Dependencies.MethodCallTranslatorProvider).LTreeTranslator;
     _typeMappingSource    = dependencies.TypeMappingSource;
 }
Пример #3
0
 public NpgsqlSqlTranslatingExpressionVisitor(
     RelationalSqlTranslatingExpressionVisitorDependencies dependencies,
     QueryCompilationContext queryCompilationContext,
     QueryableMethodTranslatingExpressionVisitor queryableMethodTranslatingExpressionVisitor)
     : base(dependencies, queryCompilationContext, queryableMethodTranslatingExpressionVisitor)
 {
     _sqlExpressionFactory = (NpgsqlSqlExpressionFactory)dependencies.SqlExpressionFactory;
     _jsonPocoTranslator   = ((NpgsqlMemberTranslatorProvider)Dependencies.MemberTranslatorProvider).JsonPocoTranslator;
     _ltreeTranslator      = ((NpgsqlMethodCallTranslatorProvider)Dependencies.MethodCallTranslatorProvider).LTreeTranslator;
     _typeMappingSource    = dependencies.TypeMappingSource;
     _timestampMapping     = _typeMappingSource.FindMapping("timestamp without time zone") !;
     _timestampTzMapping   = _typeMappingSource.FindMapping("timestamp with time zone") !;
 }