Esempio n. 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),
        });
    }
Esempio n. 2
0
 public NpgsqlArrayTranslator(
     NpgsqlSqlExpressionFactory sqlExpressionFactory,
     NpgsqlJsonPocoTranslator jsonPocoTranslator,
     bool useRedshift)
 {
     _sqlExpressionFactory = sqlExpressionFactory;
     _jsonPocoTranslator   = jsonPocoTranslator;
     _useRedshift          = useRedshift;
 }
Esempio n. 3
0
 public NpgsqlSqlTranslatingExpressionVisitor(
     RelationalSqlTranslatingExpressionVisitorDependencies dependencies,
     IModel model,
     QueryableMethodTranslatingExpressionVisitor queryableMethodTranslatingExpressionVisitor)
     : base(dependencies, model, queryableMethodTranslatingExpressionVisitor)
 {
     _sqlExpressionFactory = (NpgsqlSqlExpressionFactory)dependencies.SqlExpressionFactory;
     _jsonPocoTranslator   = ((NpgsqlMemberTranslatorProvider)Dependencies.MemberTranslatorProvider).JsonPocoTranslator;
 }
Esempio n. 4
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;
     _typeMappingSource    = dependencies.TypeMappingSource;
 }
Esempio n. 5
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") !;
 }
    public NpgsqlMemberTranslatorProvider(
        RelationalMemberTranslatorProviderDependencies dependencies,
        IModel model,
        IRelationalTypeMappingSource typeMappingSource,
        INpgsqlOptions npgsqlOptions)
        : base(dependencies)
    {
        var sqlExpressionFactory = (NpgsqlSqlExpressionFactory)dependencies.SqlExpressionFactory;

        JsonPocoTranslator = new NpgsqlJsonPocoTranslator(typeMappingSource, sqlExpressionFactory, model);

        AddTranslators(
            new IMemberTranslator[] {
            new NpgsqlArrayTranslator(sqlExpressionFactory, JsonPocoTranslator, npgsqlOptions.UseRedshift),
            new NpgsqlBigIntegerMemberTranslator(sqlExpressionFactory),
            new NpgsqlDateTimeMemberTranslator(typeMappingSource, sqlExpressionFactory),
            new NpgsqlJsonDomTranslator(typeMappingSource, sqlExpressionFactory, model),
            new NpgsqlLTreeTranslator(typeMappingSource, sqlExpressionFactory, model),
            JsonPocoTranslator,
            new NpgsqlRangeTranslator(typeMappingSource, sqlExpressionFactory, model),
            new NpgsqlStringMemberTranslator(sqlExpressionFactory),
            new NpgsqlTimeSpanMemberTranslator(sqlExpressionFactory),
        });
    }