Exemplo n.º 1
0
		/// <summary>
		/// Initializes a new instance of the <see cref="QueryConverter"/> class.
		/// </summary>
		/// <param name="services">The services.</param>
		/// <param name="typeProvider">The type provider.</param>
		/// <param name="translator">The translator.</param>
		/// <param name="nodeFactory">The node factory.</param>
		internal QueryConverter(IDataServices services, TypeSystemProvider typeProvider, Translator translator, NodeFactory nodeFactory)
		{
			if(services == null)
			{
				throw Error.ArgumentNull("services");
			}
			if(nodeFactory == null)
			{
				throw Error.ArgumentNull("sql");
			}
			if(translator == null)
			{
				throw Error.ArgumentNull("translator");
			}
			if(typeProvider == null)
			{
				throw Error.ArgumentNull("typeProvider");
			}
			_services = services;
			_translator = translator;
			_nodeFactory = nodeFactory;
			_typeProvider = typeProvider;
			_parameterExpressionToSqlExpression = new Dictionary<ParameterExpression, SqlExpression>();
			_parameterExpressionToExpression = new Dictionary<ParameterExpression, Expression>();
			_parameterExpressionToSqlNode = new Dictionary<ParameterExpression, SqlNode>();
			_sqlNodeToGroupInfo = new Dictionary<SqlNode, GroupInfo>();
			_allowDeferred = true;
		}
Exemplo n.º 2
0
		internal MemberAccessBinder(SqlBinder binder, Translator translator, SqlColumnizer columnizer, NodeFactory sqlFactory, MetaModel model, DataLoadOptions shape, bool canUseOuterApply) {
			this.binder = binder;
			this.translator = translator;
			this.columnizer = columnizer;
			this.sql = sqlFactory;
			this.typeProvider = sqlFactory.TypeProvider;
			this.expander = new SqlExpander(this.sql);
			this.aggregateChecker = new SqlAggregateChecker();
			this.linkMap = new LinkOptimizationScope(null);
			this.outerAliasMap = new Dictionary<SqlAlias, SqlAlias>();
			this.model = model;
			this.shape = shape;
			this.canUseOuterApply = canUseOuterApply;
		}
Exemplo n.º 3
0
 internal SqlReorderer(TypeSystemProvider typeProvider, NodeFactory sqlFactory)
 {
     this.typeProvider = typeProvider;
     this.sql          = sqlFactory;
 }
Exemplo n.º 4
0
		internal OrderByLifter(TypeSystemProvider typeProvider, NodeFactory sqlFactory)
		{
			this.orders = new List<SqlOrderExpression>();
			this.typeProvider = typeProvider;
			this.sql = sqlFactory;
		}
Exemplo n.º 5
0
		// Not implementing finalizer here because there are no unmanaged resources
		// to release. See http://msdnwiki.microsoft.com/en-us/mtpswiki/12afb1ea-3a17-4a3f-a1f0-fcdb853e2359.aspx

		// The bulk of the clean-up code is implemented in Dispose(bool)
		protected virtual void Dispose(bool disposing)
		{
			// Implemented but empty so that derived contexts can implement
			// a finalizer that potentially cleans up unmanaged resources.
			if(disposing)
			{
				_services = null;
				if(_conManager != null)
				{
					_conManager.DisposeConnection();
				}
				_conManager = null;
				_typeProvider = null;
				_sqlFactory = null;
				_translator = null;
				_readerCompiler = null;
				_log = null;
			}
		}
Exemplo n.º 6
0
		private void InitializeProviderMode()
		{
			if(_typeProvider == null)
			{
				switch(_mode)
				{
					case SqlServerProviderMode.Sql2000:
						_typeProvider = SqlTypeSystem.Create2000Provider();
						break;
					case SqlServerProviderMode.Sql2005:
						_typeProvider = SqlTypeSystem.Create2005Provider();
						break;
					case SqlServerProviderMode.Sql2008:
						_typeProvider = SqlTypeSystem.Create2008Provider();
						break;
					case SqlServerProviderMode.SqlCE:
						_typeProvider = SqlTypeSystem.CreateCEProvider();
						break;
					default:
						System.Diagnostics.Debug.Assert(false);
						break;
				}
			}
			if(_sqlFactory == null)
			{
				_sqlFactory = new SqlFactory(_typeProvider, _services.Model);
				_translator = new Translator(_services, _sqlFactory, _typeProvider);
			}
		}
Exemplo n.º 7
0
		internal SqlParameterizer(TypeSystemProvider typeProvider, SqlNodeAnnotations annotations)
		{
			this._typeProvider = typeProvider;
			this._annotations = annotations;
		}
Exemplo n.º 8
0
		internal SqlReorderer(TypeSystemProvider typeProvider, NodeFactory sqlFactory)
		{
			this.typeProvider = typeProvider;
			this.sql = sqlFactory;
		}
Exemplo n.º 9
0
 protected NodeFactory(TypeSystemProvider typeProvider, MetaModel model)
 {
     this.typeProvider = typeProvider;
     this.model        = model;
 }
Exemplo n.º 10
0
	    /// <summary>
        /// Rationalize boolean expressions for the given node.
        /// </summary>
        internal static SqlNode Rationalize(SqlNode node, TypeSystemProvider typeProvider, MetaModel model) {
            return new Booleanizer(new SqlFactory(typeProvider, model)).Visit(node);
        }
Exemplo n.º 11
0
		internal TypeCorrector(NodeFactory factory)
		{
			this.sql = factory;
			this.typeProvider = factory.TypeProvider;
		}
Exemplo n.º 12
0
 internal Translator(IDataServices services, NodeFactory sqlFactory, TypeSystemProvider typeProvider)
 {
     this.services     = services;
     this.sql          = sqlFactory;
     this.typeProvider = typeProvider;
 }
Exemplo n.º 13
0
		internal SqlFactory(TypeSystemProvider typeProvider, MetaModel model)
			: base(typeProvider, model)
		{
		}
Exemplo n.º 14
0
		protected NodeFactory(TypeSystemProvider typeProvider, MetaModel model)
		{
			this.typeProvider = typeProvider;
			this.model = model;
		}
Exemplo n.º 15
0
 internal Translator(IDataServices services, NodeFactory sqlFactory, TypeSystemProvider typeProvider) {
     this.services = services;
     this.sql = sqlFactory;
     this.typeProvider = typeProvider;
 }