public static SqlCommandData GenerateSqlQuery(
			QueryModel queryModel,
			IServiceProvider locator,
			IPostgresConverterFactory factory,
			IExtensibilityProvider extensibilityProvider)
		{
			Contract.Requires(queryModel != null);
			Contract.Requires(locator != null);
			Contract.Requires(factory != null);
			Contract.Requires(extensibilityProvider != null);

			var visitor =
				new SqlGeneratorQueryModelVisitor(
					new MainQueryParts(
						locator,
						factory,
						extensibilityProvider.ResolvePlugins<IQuerySimplification>(),
						extensibilityProvider.ResolvePlugins<IExpressionMatcher>(),
						extensibilityProvider.ResolvePlugins<IMemberMatcher>(),
						extensibilityProvider.ResolvePlugins<IProjectionMatcher>()));
			visitor.VisitQueryModel(queryModel);
			return new SqlCommandData(visitor.QueryParts);
		}
Ejemplo n.º 2
0
        public static SqlCommandData GenerateSqlQuery(
            QueryModel queryModel,
            IServiceLocator locator,
            IPostgresConverterFactory factory,
            IExtensibilityProvider extensibilityProvider)
        {
            Contract.Requires(queryModel != null);
            Contract.Requires(locator != null);
            Contract.Requires(factory != null);
            Contract.Requires(extensibilityProvider != null);

            var visitor =
                new SqlGeneratorQueryModelVisitor(
                    new MainQueryParts(
                        locator,
                        factory,
                        extensibilityProvider.ResolvePlugins <IQuerySimplification>(),
                        extensibilityProvider.ResolvePlugins <IExpressionMatcher>(),
                        extensibilityProvider.ResolvePlugins <IMemberMatcher>(),
                        extensibilityProvider.ResolvePlugins <IProjectionMatcher>()));

            visitor.VisitQueryModel(queryModel);
            return(new SqlCommandData(visitor.QueryParts));
        }