public SqlServerQueryCompilationContext(
     [NotNull] IModel model,
     [NotNull] ILogger logger,
     [NotNull] ILinqOperatorProvider linqOperatorProvider,
     [NotNull] IResultOperatorHandler resultOperatorHandler,
     [NotNull] IEntityMaterializerSource entityMaterializerSource,
     [NotNull] IEntityKeyFactorySource entityKeyFactorySource,
     [NotNull] IClrAccessorSource <IClrPropertyGetter> clrPropertyGetterSource,
     [NotNull] IQueryMethodProvider queryMethodProvider,
     [NotNull] IMethodCallTranslator compositeMethodCallTranslator,
     [NotNull] IMemberTranslator compositeMemberTranslator,
     [NotNull] IRelationalValueBufferFactoryFactory valueBufferFactoryFactory,
     [NotNull] IRelationalTypeMapper typeMapper,
     [NotNull] IRelationalMetadataExtensionProvider relationalExtensions)
     : base(
         model,
         logger,
         linqOperatorProvider,
         resultOperatorHandler,
         entityMaterializerSource,
         entityKeyFactorySource,
         clrPropertyGetterSource,
         queryMethodProvider,
         compositeMethodCallTranslator,
         compositeMemberTranslator,
         valueBufferFactoryFactory,
         typeMapper,
         relationalExtensions)
 {
 }
 public NpgsqlJTokenMethodCallTranslatorPlugin(IRelationalTypeMappingSource typeMappingSource, ISqlExpressionFactory sqlExpressionFactory, IModel model)
 {
     Translators = new IMethodCallTranslator[]
     {
         new NpgsqlJsonMethodCallTranslator(typeMappingSource, (NpgsqlSqlExpressionFactory)sqlExpressionFactory, model)
     };
 }
Exemplo n.º 3
0
        public RelationalQueryCompilationContext(
            [NotNull] IModel model,
            [NotNull] ILogger logger,
            [NotNull] ILinqOperatorProvider linqOperatorProvider,
            [NotNull] IResultOperatorHandler resultOperatorHandler,
            [NotNull] IEntityMaterializerSource entityMaterializerSource,
            [NotNull] IEntityKeyFactorySource entityKeyFactorySource,
            [NotNull] IClrAccessorSource <IClrPropertyGetter> clrPropertyGetterSource,
            [NotNull] IQueryMethodProvider queryMethodProvider,
            [NotNull] IMethodCallTranslator methodCallTranslator,
            [NotNull] IRelationalValueBufferFactoryFactory valueBufferFactoryFactory)
            : base(
                Check.NotNull(model, nameof(model)),
                Check.NotNull(logger, nameof(logger)),
                Check.NotNull(linqOperatorProvider, nameof(linqOperatorProvider)),
                Check.NotNull(resultOperatorHandler, nameof(resultOperatorHandler)),
                Check.NotNull(entityMaterializerSource, nameof(entityMaterializerSource)),
                Check.NotNull(entityKeyFactorySource, nameof(entityKeyFactorySource)),
                Check.NotNull(clrPropertyGetterSource, nameof(clrPropertyGetterSource)))
        {
            Check.NotNull(queryMethodProvider, nameof(queryMethodProvider));
            Check.NotNull(methodCallTranslator, nameof(methodCallTranslator));
            Check.NotNull(valueBufferFactoryFactory, nameof(valueBufferFactoryFactory));

            QueryMethodProvider       = queryMethodProvider;
            MethodCallTranslator      = methodCallTranslator;
            ValueBufferFactoryFactory = valueBufferFactoryFactory;
        }
Exemplo n.º 4
0
 public FakeRelationalDatabase(
     IModel model,
     IEntityKeyFactorySource entityKeyFactorySource,
     IEntityMaterializerSource entityMaterializerSource,
     IClrAccessorSource <IClrPropertyGetter> clrPropertyGetterSource,
     IRelationalConnection connection,
     ICommandBatchPreparer batchPreparer,
     IBatchExecutor batchExecutor,
     IDbContextOptions options,
     ILoggerFactory loggerFactory,
     IRelationalValueBufferFactoryFactory valueBufferFactoryFactory,
     IMethodCallTranslator compositeMethodCallTranslator,
     IMemberTranslator compositeMemberTranslator,
     IRelationalTypeMapper typeMapper)
     : base(
         model,
         entityKeyFactorySource,
         entityMaterializerSource,
         clrPropertyGetterSource,
         connection,
         batchPreparer,
         batchExecutor,
         options,
         loggerFactory,
         valueBufferFactoryFactory,
         compositeMethodCallTranslator,
         compositeMemberTranslator,
         typeMapper)
 {
 }
        public SqlTranslatingExpressionVisitor(
            [NotNull] IRelationalAnnotationProvider relationalAnnotationProvider,
            [NotNull] IExpressionFragmentTranslator compositeExpressionFragmentTranslator,
            [NotNull] IMethodCallTranslator methodCallTranslator,
            [NotNull] IMemberTranslator memberTranslator,
            [NotNull] RelationalQueryModelVisitor queryModelVisitor,
            [CanBeNull] SelectExpression targetSelectExpression = null,
            [CanBeNull] Expression topLevelPredicate            = null,
            bool bindParentQueries = false,
            bool inProjection      = false)
        {
            Check.NotNull(relationalAnnotationProvider, nameof(relationalAnnotationProvider));
            Check.NotNull(compositeExpressionFragmentTranslator, nameof(compositeExpressionFragmentTranslator));
            Check.NotNull(methodCallTranslator, nameof(methodCallTranslator));
            Check.NotNull(memberTranslator, nameof(memberTranslator));
            Check.NotNull(queryModelVisitor, nameof(queryModelVisitor));

            _relationalAnnotationProvider          = relationalAnnotationProvider;
            _compositeExpressionFragmentTranslator = compositeExpressionFragmentTranslator;
            _methodCallTranslator   = methodCallTranslator;
            _memberTranslator       = memberTranslator;
            _queryModelVisitor      = queryModelVisitor;
            _targetSelectExpression = targetSelectExpression;
            _topLevelPredicate      = topLevelPredicate;
            _bindParentQueries      = bindParentQueries;
            _inProjection           = inProjection;
        }
 public SqliteNodaTimeMethodCallTranslatorPlugin(ISqlExpressionFactory sqlExpressionFactory)
 {
     Translators = new IMethodCallTranslator[]
     {
         new SqliteNodaTimeMethodCallTranslator(sqlExpressionFactory),
     };
 }
Exemplo n.º 7
0
        public RelationalQueryCompilationContext(
            [NotNull] IModel model,
            [NotNull] ILogger logger,
            [NotNull] ILinqOperatorProvider linqOperatorProvider,
            [NotNull] IResultOperatorHandler resultOperatorHandler,
            [NotNull] IEntityMaterializerSource entityMaterializerSource,
            [NotNull] IEntityKeyFactorySource entityKeyFactorySource,
            [NotNull] IClrAccessorSource <IClrPropertyGetter> clrPropertyGetterSource,
            [NotNull] IQueryMethodProvider queryMethodProvider,
            [NotNull] IMethodCallTranslator compositeMethodCallTranslator,
            [NotNull] IMemberTranslator compositeMemberTranslator,
            [NotNull] IRelationalValueBufferFactoryFactory valueBufferFactoryFactory,
            [NotNull] IRelationalTypeMapper typeMapper)
            : base(
                model,
                logger,
                linqOperatorProvider,
                resultOperatorHandler,
                entityMaterializerSource,
                entityKeyFactorySource,
                clrPropertyGetterSource)

        {
            Check.NotNull(queryMethodProvider, nameof(queryMethodProvider));
            Check.NotNull(compositeMethodCallTranslator, nameof(compositeMethodCallTranslator));
            Check.NotNull(compositeMemberTranslator, nameof(compositeMemberTranslator));
            Check.NotNull(valueBufferFactoryFactory, nameof(valueBufferFactoryFactory));
            Check.NotNull(typeMapper, nameof(typeMapper));

            QueryMethodProvider           = queryMethodProvider;
            CompositeMethodCallTranslator = compositeMethodCallTranslator;
            CompositeMemberTranslator     = compositeMemberTranslator;
            ValueBufferFactoryFactory     = valueBufferFactoryFactory;
            TypeMapper = typeMapper;
        }
 public SqlServerDatabase(
     [NotNull] IModel model,
     [NotNull] IEntityKeyFactorySource entityKeyFactorySource,
     [NotNull] IEntityMaterializerSource entityMaterializerSource,
     [NotNull] IClrAccessorSource <IClrPropertyGetter> clrPropertyGetterSource,
     [NotNull] ISqlServerConnection connection,
     [NotNull] ICommandBatchPreparer batchPreparer,
     [NotNull] IBatchExecutor batchExecutor,
     [NotNull] IDbContextOptions options,
     [NotNull] ILoggerFactory loggerFactory,
     [NotNull] IRelationalValueBufferFactoryFactory valueBufferFactoryFactory,
     [NotNull] IMethodCallTranslator compositeMethodCallTranslator,
     [NotNull] IMemberTranslator compositeMemberTranslator,
     [NotNull] IRelationalTypeMapper typeMapper,
     [NotNull] IRelationalMetadataExtensionProvider relationalExtensions)
     : base(
         model,
         entityKeyFactorySource,
         entityMaterializerSource,
         clrPropertyGetterSource,
         connection,
         batchPreparer,
         batchExecutor,
         options,
         loggerFactory,
         valueBufferFactoryFactory,
         compositeMethodCallTranslator,
         compositeMemberTranslator,
         typeMapper,
         relationalExtensions)
 {
 }
        protected override RelationalQueryCompilationContext CreateQueryCompilationContext(
            ILinqOperatorProvider linqOperatorProvider,
            IResultOperatorHandler resultOperatorHandler,
            IQueryMethodProvider enumerableMethodProvider,
            IMethodCallTranslator compositeMethodCallTranslator,
            IMemberTranslator compositeMemberTranslator)
        {
            Check.NotNull(linqOperatorProvider, nameof(linqOperatorProvider));
            Check.NotNull(resultOperatorHandler, nameof(resultOperatorHandler));
            Check.NotNull(enumerableMethodProvider, nameof(enumerableMethodProvider));
            Check.NotNull(compositeMethodCallTranslator, nameof(compositeMethodCallTranslator));
            Check.NotNull(compositeMemberTranslator, nameof(compositeMemberTranslator));

            return(new SqlServerQueryCompilationContext(
                       Model,
                       Logger,
                       linqOperatorProvider,
                       resultOperatorHandler,
                       EntityMaterializerSource,
                       EntityKeyFactorySource,
                       ClrPropertyGetterSource,
                       enumerableMethodProvider,
                       compositeMethodCallTranslator,
                       compositeMemberTranslator,
                       ValueBufferFactoryFactory,
                       TypeMapper,
                       RelationalExtensions));
        }
Exemplo n.º 10
0
 public NpgsqlNodaTimeMethodCallTranslatorPlugin([NotNull] ISqlExpressionFactory sqlExpressionFactory)
 {
     Translators = new IMethodCallTranslator[]
     {
         new NpgsqlNodaTimeMethodCallTranslator((NpgsqlSqlExpressionFactory)sqlExpressionFactory),
     };
 }
        protected override RelationalQueryCompilationContext CreateQueryCompilationContext(
            ILinqOperatorProvider linqOperatorProvider,
            IResultOperatorHandler resultOperatorHandler,
            IQueryMethodProvider enumerableMethodProvider,
            IMethodCallTranslator compositeMethodCallTranslator,
            IMemberTranslator compositeMemberTranslator)
        {
            Check.NotNull(linqOperatorProvider, nameof(linqOperatorProvider));
            Check.NotNull(resultOperatorHandler, nameof(resultOperatorHandler));
            Check.NotNull(enumerableMethodProvider, nameof(enumerableMethodProvider));
            Check.NotNull(compositeMethodCallTranslator, nameof(compositeMethodCallTranslator));
            Check.NotNull(compositeMemberTranslator, nameof(compositeMemberTranslator));

            return new SqlServerQueryCompilationContext(
                Model,
                Logger,
                linqOperatorProvider,
                resultOperatorHandler,
                EntityMaterializerSource,
                EntityKeyFactorySource,
                ClrPropertyGetterSource,
                enumerableMethodProvider,
                compositeMethodCallTranslator,
                compositeMemberTranslator,
                ValueBufferFactoryFactory,
                TypeMapper,
                RelationalExtensions);
        }
 public InstantMethodCallTranslatorPlugin(
     ISqlExpressionFactory sqlExpressionFactory)
 {
     Translators = new IMethodCallTranslator[]
     {
         new InstantMethodTranslator(sqlExpressionFactory)
     };
 }
 /// <summary>
 /// 初始化类<see cref="SqlServerExpressionVisitorFactory"/>。
 /// </summary>
 /// <param name="sqlHelper">SQL操作特殊标识接口。</param>
 /// <param name="typeMapper">类型匹配接口。</param>
 /// <param name="memberTranslator">字段或属性转换接口。</param>
 /// <param name="methodCallTranslator">方法调用转换接口。</param>
 /// <param name="fragmentTranslator">代码段转换接口。</param>
 public SqlServerExpressionVisitorFactory(ISqlHelper sqlHelper, ITypeMapper typeMapper, IMemberTranslator memberTranslator, IMethodCallTranslator methodCallTranslator, IExpressionFragmentTranslator fragmentTranslator)
 {
     _sqlHelper            = sqlHelper;
     _typeMapper           = typeMapper;
     _memberTranslator     = memberTranslator;
     _methodCallTranslator = methodCallTranslator;
     _fragmentTranslator   = fragmentTranslator;
 }
 public DurationMethodCallTranslatorPlugin(
     ISqlExpressionFactory sqlExpressionFactory)
 {
     Translators = new IMethodCallTranslator[]
     {
         new DurationMethodTranslator(sqlExpressionFactory)
     };
 }
 public LocalDateTimeMethodCallTranslatorPlugin(
     ISqlExpressionFactory sqlExpressionFactory)
 {
     Translators = new IMethodCallTranslator[]
     {
         new LocalDateTimeMethodTranslator(sqlExpressionFactory)
     };
 }
 public NpgsqlNodaTimeMethodCallTranslatorPlugin(
     IRelationalTypeMappingSource typeMappingSource,
     ISqlExpressionFactory sqlExpressionFactory)
 {
     Translators = new IMethodCallTranslator[]
     {
         new NpgsqlNodaTimeMethodCallTranslator(typeMappingSource, (NpgsqlSqlExpressionFactory)sqlExpressionFactory),
     };
 }
Exemplo n.º 17
0
 /// <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 MySqlJsonMethodCallTranslatorPlugin(
     IRelationalTypeMappingSource typeMappingSource,
     ISqlExpressionFactory sqlExpressionFactory)
 {
     Translators = new IMethodCallTranslator[]
     {
         //new MySqlGeometryMethodTranslator(typeMappingSource, sqlExpressionFactory),
     };
 }
Exemplo n.º 18
0
 /// <summary>
 /// 初始化类<see cref="SqlExpressionVisitor"/>。
 /// </summary>
 /// <param name="sqlHelper">SQL操作特殊标识接口。</param>
 /// <param name="typeMapper">类型匹配。</param>
 /// <param name="memberTranslator">字段或属性转换接口。</param>
 /// <param name="methodCallTranslator">方法调用转换接口。</param>
 /// <param name="fragmentTranslator">代码段转换接口。</param>
 protected SqlExpressionVisitor(ISqlHelper sqlHelper, ITypeMapper typeMapper, IMemberTranslator memberTranslator, IMethodCallTranslator methodCallTranslator, IExpressionFragmentTranslator fragmentTranslator)
 {
     _sqlHelper            = sqlHelper;
     _typeMapper           = typeMapper;
     _memberTranslator     = memberTranslator;
     _methodCallTranslator = methodCallTranslator;
     _fragmentTranslator   = fragmentTranslator;
     Delimter = (info, _) => sqlHelper.DelimitIdentifier(info.Name);
 }
Exemplo n.º 19
0
 /// <summary>
 /// 初始化类<see cref="SqlExpressionVisitor"/>。
 /// </summary>
 /// <param name="sqlHelper">SQL操作特殊标识接口。</param>
 /// <param name="typeMapper">类型匹配。</param>
 /// <param name="memberTranslator">字段或属性转换接口。</param>
 /// <param name="methodCallTranslator">方法调用转换接口。</param>
 /// <param name="fragmentTranslator">代码段转换接口。</param>
 /// <param name="schemaFunc">获取前缀代理方法。</param>
 protected SqlExpressionVisitor(ISqlHelper sqlHelper, ITypeMapper typeMapper, IMemberTranslator memberTranslator, IMethodCallTranslator methodCallTranslator, IExpressionFragmentTranslator fragmentTranslator, Func <Type, string> schemaFunc)
 {
     _sqlHelper            = sqlHelper;
     _typeMapper           = typeMapper;
     _memberTranslator     = memberTranslator;
     _methodCallTranslator = methodCallTranslator;
     _fragmentTranslator   = fragmentTranslator;
     Delimter = (info, type) => sqlHelper.DelimitIdentifier(info.Name, schemaFunc(type));
 }
Exemplo n.º 20
0
 public SqlServerHierarchyIdMethodCallTranslatorPlugin(
     IRelationalTypeMappingSource typeMappingSource,
     ISqlExpressionFactory sqlExpressionFactory)
 {
     Translators = new IMethodCallTranslator[]
     {
         new SqlServerHierarchyIdMethodTranslator(typeMappingSource, sqlExpressionFactory)
     };
 }
 /// <summary>
 ///     This API supports the Entity Framework Core infrastructure and is not intended to be used
 ///     directly from your code. This API may change or be removed in future releases.
 /// </summary>
 public SqlServerNetTopologySuiteMethodCallTranslatorPlugin(IRelationalTypeMappingSource typeMappingSource)
 {
     Translators = new IMethodCallTranslator[]
     {
         new SqlServerGeometryMethodTranslator(typeMappingSource),
         new SqlServerGeometryCollectionMethodTranslator(typeMappingSource),
         new SqlServerLineStringMethodTranslator(typeMappingSource),
         new SqlServerPolygonMethodTranslator(typeMappingSource)
     };
 }
Exemplo n.º 22
0
 public NpgsqlNetTopologySuiteMethodCallTranslatorPlugin(
     IRelationalTypeMappingSource typeMappingSource,
     ISqlExpressionFactory sqlExpressionFactory)
 {
     if (!(sqlExpressionFactory is NpgsqlSqlExpressionFactory npgsqlSqlExpressionFactory))
     {
         throw new ArgumentException($"Must be an {nameof(NpgsqlSqlExpressionFactory)}", nameof(sqlExpressionFactory));
     }
     Translators = new IMethodCallTranslator[] { new NpgsqlGeometryMethodTranslator(npgsqlSqlExpressionFactory, typeMappingSource), };
 }
Exemplo n.º 23
0
 public SqliteNetTopologySuiteMethodCallTranslatorPlugin(ISqlExpressionFactory sqlExpressionFactory)
 {
     Translators = new IMethodCallTranslator[]
     {
         new SqliteGeometryMethodTranslator(sqlExpressionFactory),
         new SqliteGeometryCollectionMethodTranslator(sqlExpressionFactory),
         new SqliteLineStringMethodTranslator(sqlExpressionFactory),
         new SqlitePolygonMethodTranslator(sqlExpressionFactory)
     };
 }
Exemplo n.º 24
0
        /// <summary>
        ///     Tries to translate the Method-call to some N1QL expression. Currently only implemented for "Contains() - LIKE"
        /// </summary>
        /// <param name="expression"></param>
        /// <returns></returns>
        protected override Expression VisitMethodCall(MethodCallExpression expression)
        {
            IMethodCallTranslator methodCallTranslator = QueryGenerationContext.MethodCallTranslatorProvider.GetTranslator(expression);

            if (methodCallTranslator != null)
            {
                return(methodCallTranslator.Translate(expression, this));
            }

            return(base.VisitMethodCall(expression));
        }
 public SqlServerNetTopologySuiteMethodCallTranslatorPlugin(
     [NotNull] IRelationalTypeMappingSource typeMappingSource,
     [NotNull] ISqlExpressionFactory sqlExpressionFactory)
 {
     Translators = new IMethodCallTranslator[]
     {
         new SqlServerGeometryMethodTranslator(typeMappingSource, sqlExpressionFactory),
         new SqlServerGeometryCollectionMethodTranslator(typeMappingSource, sqlExpressionFactory),
         new SqlServerLineStringMethodTranslator(typeMappingSource, sqlExpressionFactory),
         new SqlServerPolygonMethodTranslator(typeMappingSource, sqlExpressionFactory)
     };
 }
 /// <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 MySqlNetTopologySuiteMethodCallTranslatorPlugin(
     IRelationalTypeMappingSource typeMappingSource,
     ISqlExpressionFactory sqlExpressionFactory)
 {
     Translators = new IMethodCallTranslator[]
     {
         new MySqlGeometryMethodTranslator(typeMappingSource, sqlExpressionFactory),
         new MySqlGeometryCollectionMethodTranslator(typeMappingSource, sqlExpressionFactory),
         new MySqlLineStringMethodTranslator(typeMappingSource, sqlExpressionFactory),
         new MySqlPolygonMethodTranslator(typeMappingSource, sqlExpressionFactory)
     };
 }
Exemplo n.º 27
0
        protected override RelationalQueryCompilationContext CreateQueryCompilationContext(
            ILinqOperatorProvider linqOperatorProvider,
            IResultOperatorHandler resultOperatorHandler,
            IQueryMethodProvider queryMethodProvider,
            IMethodCallTranslator methodCallTranslator)
        {
            Check.NotNull(linqOperatorProvider, "linqOperatorProvider");
            Check.NotNull(resultOperatorHandler, "resultOperatorHandler");
            Check.NotNull(queryMethodProvider, "queryMethodProvider");

            return(new SQLiteQueryCompilationContext(
                       Model, Logger, linqOperatorProvider, resultOperatorHandler, queryMethodProvider, methodCallTranslator));
        }
Exemplo n.º 28
0
        protected virtual RelationalQueryCompilationContext CreateQueryCompilationContext(
            [NotNull] ILinqOperatorProvider linqOperatorProvider,
            [NotNull] IResultOperatorHandler resultOperatorHandler,
            [NotNull] IQueryMethodProvider queryMethodProvider,
            [NotNull] IMethodCallTranslator methodCallTranslator)
        {
            Check.NotNull(linqOperatorProvider, "linqOperatorProvider");
            Check.NotNull(resultOperatorHandler, "resultOperatorHandler");
            Check.NotNull(queryMethodProvider, "queryMethodProvider");
            Check.NotNull(methodCallTranslator, "methodCallTranslator");

            return(new RelationalQueryCompilationContext(
                       Model, Logger, linqOperatorProvider, resultOperatorHandler, queryMethodProvider, methodCallTranslator));
        }
Exemplo n.º 29
0
        protected override RelationalQueryCompilationContext CreateQueryCompilationContext(
            ILinqOperatorProvider linqOperatorProvider,
            IResultOperatorHandler resultOperatorHandler,
            IQueryMethodProvider enumerableMethodProvider,
            IMethodCallTranslator methodCallTranslator)
        {
            Check.NotNull(linqOperatorProvider, "linqOperatorProvider");
            Check.NotNull(resultOperatorHandler, "resultOperatorHandler");
            Check.NotNull(enumerableMethodProvider, "enumerableMethodProvider");
            Check.NotNull(methodCallTranslator, "methodCallTranslator");

            return(new SqlServerQueryCompilationContext(
                       Model, Logger, linqOperatorProvider, resultOperatorHandler, enumerableMethodProvider, methodCallTranslator));
        }
Exemplo n.º 30
0
 /// <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 MySqlNetTopologySuiteMethodCallTranslatorPlugin(
     IRelationalTypeMappingSource typeMappingSource,
     ISqlExpressionFactory sqlExpressionFactory,
     IMySqlOptions options)
 {
     Translators = new IMethodCallTranslator[]
     {
         new MySqlGeometryMethodTranslator(typeMappingSource, sqlExpressionFactory, options),
         new MySqlGeometryCollectionMethodTranslator(typeMappingSource, sqlExpressionFactory),
         new MySqlLineStringMethodTranslator(typeMappingSource, sqlExpressionFactory),
         new MySqlPolygonMethodTranslator(typeMappingSource, sqlExpressionFactory),
         new MySqlSpatialDbFunctionsExtensionsMethodTranslator(sqlExpressionFactory, options)
     };
 }
        public SqlTranslatingExpressionVisitorFactory(
            [NotNull] IRelationalAnnotationProvider relationalAnnotationProvider,
            [NotNull] IExpressionFragmentTranslator compositeExpressionFragmentTranslator,
            [NotNull] IMethodCallTranslator methodCallTranslator,
            [NotNull] IMemberTranslator memberTranslator)
        {
            Check.NotNull(relationalAnnotationProvider, nameof(relationalAnnotationProvider));
            Check.NotNull(compositeExpressionFragmentTranslator, nameof(compositeExpressionFragmentTranslator));
            Check.NotNull(methodCallTranslator, nameof(methodCallTranslator));
            Check.NotNull(memberTranslator, nameof(memberTranslator));

            _relationalAnnotationProvider          = relationalAnnotationProvider;
            _compositeExpressionFragmentTranslator = compositeExpressionFragmentTranslator;
            _methodCallTranslator = methodCallTranslator;
            _memberTranslator     = memberTranslator;
        }
        public SqlTranslatingExpressionVisitorFactory(
            [NotNull] IRelationalAnnotationProvider relationalAnnotationProvider,
            [NotNull] IExpressionFragmentTranslator compositeExpressionFragmentTranslator,
            [NotNull] IMethodCallTranslator methodCallTranslator,
            [NotNull] IMemberTranslator memberTranslator)
        {
            Check.NotNull(relationalAnnotationProvider, nameof(relationalAnnotationProvider));
            Check.NotNull(compositeExpressionFragmentTranslator, nameof(compositeExpressionFragmentTranslator));
            Check.NotNull(methodCallTranslator, nameof(methodCallTranslator));
            Check.NotNull(memberTranslator, nameof(memberTranslator));

            _relationalAnnotationProvider = relationalAnnotationProvider;
            _compositeExpressionFragmentTranslator = compositeExpressionFragmentTranslator;
            _methodCallTranslator = methodCallTranslator;
            _memberTranslator = memberTranslator;
        }
Exemplo n.º 33
0
 protected override RelationalQueryCompilationContext CreateQueryCompilationContext(
     ILinqOperatorProvider linqOperatorProvider,
     IResultOperatorHandler resultOperatorHandler,
     IQueryMethodProvider queryMethodProvider,
     IMethodCallTranslator compositeMethodCallTranslator,
     IMemberTranslator compositeMemberTranslator) =>
         new SqliteQueryCompilationContext(
             Model,
             Logger,
             linqOperatorProvider,
             resultOperatorHandler,
             EntityMaterializerSource,
             ClrPropertyGetterSource,
             EntityKeyFactorySource,
             queryMethodProvider,
             compositeMethodCallTranslator,
             compositeMemberTranslator,
             ValueBufferFactoryFactory,
             TypeMapper);
Exemplo n.º 34
0
        protected override RelationalQueryCompilationContext CreateQueryCompilationContext(
            ILinqOperatorProvider linqOperatorProvider,
            IResultOperatorHandler resultOperatorHandler,
            IQueryMethodProvider enumerableMethodProvider,
            IMethodCallTranslator methodCallTranslator)
        {
            Check.NotNull(linqOperatorProvider, nameof(linqOperatorProvider));
            Check.NotNull(resultOperatorHandler, nameof(resultOperatorHandler));
            Check.NotNull(enumerableMethodProvider, nameof(enumerableMethodProvider));
            Check.NotNull(methodCallTranslator, nameof(methodCallTranslator));

            return new SqlServerQueryCompilationContext(
                Model,
                Logger,
                linqOperatorProvider,
                resultOperatorHandler,
                EntityMaterializerSource,
                EntityKeyFactorySource,
                enumerableMethodProvider,
                methodCallTranslator);
        }
 public FakeQueryCompilationContext(
     IModel model,
     ILogger logger,
     ILinqOperatorProvider linqOperatorProvider,
     IResultOperatorHandler resultOperatorHandler,
     IEntityMaterializerSource entityMaterializerSource,
     IClrAccessorSource<IClrPropertyGetter> clrPropertyGetterSource,
     IEntityKeyFactorySource entityKeyFactorySource,
     IQueryMethodProvider queryMethodProvider,
     IMethodCallTranslator compositeMethodCallTranslator,
     IMemberTranslator compositeMemberTranslator,
     IRelationalValueBufferFactoryFactory valueBufferFactoryFactory,
     IRelationalTypeMapper typeMapper,
     IRelationalMetadataExtensionProvider relationalExtensions)
     : base(
         model,
         logger,
         linqOperatorProvider,
         resultOperatorHandler,
         entityMaterializerSource,
         entityKeyFactorySource,
         clrPropertyGetterSource,
         queryMethodProvider,
         compositeMethodCallTranslator,
         compositeMemberTranslator,
         valueBufferFactoryFactory,
         typeMapper,
         relationalExtensions)
 {
 }
 public FakeRelationalDatabase(
     IModel model,
     IEntityKeyFactorySource entityKeyFactorySource,
     IEntityMaterializerSource entityMaterializerSource,
     IClrAccessorSource<IClrPropertyGetter> clrPropertyGetterSource,
     IRelationalConnection connection,
     ICommandBatchPreparer batchPreparer,
     IBatchExecutor batchExecutor,
     IDbContextOptions options,
     ILoggerFactory loggerFactory,
     IRelationalValueBufferFactoryFactory valueBufferFactoryFactory,
     IMethodCallTranslator compositeMethodCallTranslator,
     IMemberTranslator compositeMemberTranslator,
     IRelationalTypeMapper typeMapper)
     : base(
           model, 
           entityKeyFactorySource, 
           entityMaterializerSource,
           clrPropertyGetterSource,
           connection, 
           batchPreparer, 
           batchExecutor, 
           options, 
           loggerFactory,
           valueBufferFactoryFactory,
           compositeMethodCallTranslator,
           compositeMemberTranslator,
           typeMapper)
 {
 }