當前位置: 首頁>>代碼示例>>C#>>正文


C# Ast.HqlTreeBuilder類代碼示例

本文整理匯總了C#中NHibernate.Hql.Ast.HqlTreeBuilder的典型用法代碼示例。如果您正苦於以下問題:C# HqlTreeBuilder類的具體用法?C# HqlTreeBuilder怎麽用?C# HqlTreeBuilder使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


HqlTreeBuilder類屬於NHibernate.Hql.Ast命名空間,在下文中一共展示了HqlTreeBuilder類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: BuildHql

		public HqlTreeNode BuildHql(MethodInfo method, Expression targetObject, ReadOnlyCollection<Expression> arguments,
		                            HqlTreeBuilder treeBuilder, IHqlExpressionVisitor visitor)
		{
			return treeBuilder.Like(
				visitor.Visit(arguments[0]).AsExpression(),
				visitor.Visit(arguments[1]).AsExpression());
		}
開發者ID:snbbgyth,項目名稱:WorkFlowEngine,代碼行數:7,代碼來源:StringGenerator.cs

示例2: BuildHql

 public override HqlTreeNode BuildHql(MethodInfo method, Expression targetObject, ReadOnlyCollection<Expression> arguments, HqlTreeBuilder treeBuilder, IHqlExpressionVisitor visitor)
 {
     HqlExpression targetExpression = visitor.Visit(targetObject).AsExpression();
     HqlExpression argument0Expression = visitor.Visit(arguments[0]).AsExpression();
     HqlEquality result = treeBuilder.Equality(targetExpression, argument0Expression);
     return result;
 }
開發者ID:BosphorusTeam,項目名稱:bosphorus.dao,代碼行數:7,代碼來源:HqlGenerator.cs

示例3: BuildHql

        public override HqlTreeNode BuildHql(
            MethodInfo method,
            Expression targetObject,
            ReadOnlyCollection<Expression> arguments,
            HqlTreeBuilder treeBuilder,
            IHqlExpressionVisitor visitor)
        {
            // Get the StringComparison argument.
            var comparison = (StringComparison)(arguments[1].As<ConstantExpression>().Value);

            if (comparison == StringComparison.CurrentCultureIgnoreCase
                || comparison == StringComparison.InvariantCultureIgnoreCase
                || comparison == StringComparison.OrdinalIgnoreCase)
            {
                // If the comparison calls for us to ignore the case, use SQL LOWER()
                return
                    treeBuilder.Equality(
                        treeBuilder.MethodCall("lower", new[] { visitor.Visit(targetObject).AsExpression() }),
                        treeBuilder.MethodCall("lower", new[] { visitor.Visit(arguments[0]).AsExpression() }));
            }

            // Otherwise use the database's default string comparison mechanism.
            return treeBuilder.Equality(
                visitor.Visit(targetObject).AsExpression(),
                visitor.Visit(arguments[0]).AsExpression());
        }
開發者ID:KamoHaladus,項目名稱:BrockAllen.MembershipReboot,代碼行數:26,代碼來源:StringComparisonEqualsGenerator.cs

示例4: ProjectionEvaluator

 public ProjectionEvaluator(ParameterAggregator parameterAggregator, System.Type inputType, Func<Expression, bool> predicate)
 {
     _parameterAggregator = parameterAggregator;
     _inputParameter = Expression.Parameter(inputType, "input");
     _predicate = predicate;
     _hqlTreeBuilder = new HqlTreeBuilder();
     _stack = new HqlNodeStack(_hqlTreeBuilder);
 }
開發者ID:nkmajeti,項目名稱:nhibernate,代碼行數:8,代碼來源:ProjectionEvaluator.cs

示例5: BuildHql

		public override HqlTreeNode BuildHql(MethodInfo method, Expression targetObject, ReadOnlyCollection<Expression> arguments, HqlTreeBuilder treeBuilder, IHqlExpressionVisitor visitor)
		{
			IEnumerable<HqlExpression> args = visitor.Visit(targetObject)
				.Union(arguments.Select(a => visitor.Visit(a)))
				.Cast<HqlExpression>();

			return treeBuilder.MethodCall(_name, args);
		}
開發者ID:jlevitt,項目名稱:nhibernate-core,代碼行數:8,代碼來源:StandardLinqExtensionMethodGenerator.cs

示例6: BuildHql

 public override HqlTreeNode BuildHql(MethodInfo method, Expression targetObject, ReadOnlyCollection<Expression> arguments, HqlTreeBuilder treeBuilder, IHqlExpressionVisitor visitor)
 {
     return treeBuilder.Like(
         visitor.Visit(targetObject).AsExpression(),
         treeBuilder.Concat(
             treeBuilder.Constant("%"),
             visitor.Visit(arguments[0]).AsExpression()));
 }
開發者ID:remcoros,項目名稱:nhibernate,代碼行數:8,代碼來源:StringGenerator.cs

示例7: BuildHql

		public override HqlTreeNode BuildHql(MethodInfo method, Expression targetObject, ReadOnlyCollection<Expression> arguments, HqlTreeBuilder treeBuilder, IHqlExpressionVisitor visitor)
		{
			// HqlGeneratorExpressionTreeVisitor.VisitConstantExpression will always return an HqlEquality 
			// instead of HqlParameter for argument that is of type bool.
			// Use the HqlParameter that exists as first children to the HqlEquality as second argument into treeBuilder.Equality
			return treeBuilder.Equality(
				visitor.Visit(targetObject).AsExpression(),
				visitor.Visit(arguments[0]).Children.First().AsExpression());
		}
開發者ID:ntuveri,項目名稱:nhibernate-core,代碼行數:9,代碼來源:EqualsGenerator.cs

示例8: GetRhs

		private static HqlExpression GetRhs(MethodInfo method, ReadOnlyCollection<Expression> arguments, HqlTreeBuilder treeBuilder, IHqlExpressionVisitor visitor)
		{
			if (arguments.Count > 0)
				return visitor.Visit(arguments[0]).AsExpression();

			var returnType = method.ReturnType;
			var instance = returnType.IsValueType ? Activator.CreateInstance(returnType) : null;
			return treeBuilder.Constant(instance);
		}
開發者ID:marchlud,項目名稱:nhibernate-core,代碼行數:9,代碼來源:GetValueOrDefaultGenerator.cs

示例9: BuildHql

        public override HqlTreeNode BuildHql(MethodInfo method, Expression targetObject,
                                             ReadOnlyCollection<Expression> arguments, HqlTreeBuilder treeBuilder,
                                             IHqlExpressionVisitor visitor)
        {
            var arg = visitor.Visit(arguments[0]).AsExpression();
            var mt = treeBuilder.MethodCall("hid_Parse", arg);

            return mt;
        }
開發者ID:zoldello,項目名稱:NHibernate.HierarchyId,代碼行數:9,代碼來源:HidParseGenerator.cs

示例10: BuildHql

		public override HqlTreeNode BuildHql(MethodInfo method, Expression targetObject, ReadOnlyCollection<Expression> arguments, HqlTreeBuilder treeBuilder, IHqlExpressionVisitor visitor)
		{
			Expression lhs = arguments.Count == 1 ? targetObject : arguments[0];
			Expression rhs = arguments.Count == 1 ? arguments[0] : arguments[1];

			return treeBuilder.Equality(
				visitor.Visit(lhs).AsExpression(),
				visitor.Visit(rhs).AsExpression());
		}
開發者ID:jlevitt,項目名稱:nhibernate-core,代碼行數:9,代碼來源:EqualsGenerator.cs

示例11: BuildHql

		public override HqlTreeNode BuildHql(MethodInfo method, Expression targetObject,
		                                     ReadOnlyCollection<Expression> arguments, HqlTreeBuilder treeBuilder,
		                                     IHqlExpressionVisitor visitor)
		{
			IEnumerable<HqlExpression> args = arguments.Select(a => visitor.Visit(a))
				.Cast<HqlExpression>();

			return treeBuilder.BooleanMethodCall("FREETEXT", args);
		}
開發者ID:juanplopes,項目名稱:nhibernate,代碼行數:9,代碼來源:BooleanMethodExtensionExample.cs

示例12: BuildHql

        public override HqlTreeNode BuildHql(MethodInfo method, Expression targetObject,
                                             ReadOnlyCollection<Expression> arguments, HqlTreeBuilder treeBuilder,
                                             IHqlExpressionVisitor visitor)
        {
            var arg = visitor.Visit(arguments[0]).AsExpression();
            var parent = visitor.Visit(arguments[1]).AsExpression();
            var mt = treeBuilder.BooleanMethodCall("hid_IsDescendantOf", new[] {arg, parent});

            return mt;
        }
開發者ID:vertiman,項目名稱:NHibernate.HierarchyId,代碼行數:10,代碼來源:IsDescendantOfGenerator.cs

示例13: BuildHql

        public override HqlTreeNode BuildHql(MethodInfo method, Expression targetObject, ReadOnlyCollection<Expression> arguments, HqlTreeBuilder treeBuilder, IHqlExpressionVisitor visitor)
        {
            var arg = visitor.Visit(arguments[0]).AsExpression();
            var c1 = visitor.Visit(arguments[1]).AsExpression();
            var c2 = visitor.Visit(arguments[2]).AsExpression();

            var mt = treeBuilder.MethodCall("hid_GetReparentedValue", arg, c1, c2);

            return mt;
        }
開發者ID:zoldello,項目名稱:NHibernate.HierarchyId,代碼行數:10,代碼來源:GetReparentedValueGenerator.cs

示例14: BuildHql

 public override HqlTreeNode BuildHql(MethodInfo method, Expression targetObject, ReadOnlyCollection<Expression> arguments, HqlTreeBuilder treeBuilder, IHqlExpressionVisitor visitor)
 {
     return treeBuilder.Concat(
         new[]
     {
         visitor.Visit(arguments[0]).AsExpression(),
         visitor.Visit(arguments[1]).AsExpression(),
         visitor.Visit(arguments[2]).AsExpression()
     });
 }
開發者ID:richinoz,項目名稱:ToDo,代碼行數:10,代碼來源:ConcatHqlGenerator.cs

示例15: BuildHql

		public override HqlTreeNode BuildHql(MethodInfo method, Expression expression, ReadOnlyCollection<Expression> arguments, HqlTreeBuilder treeBuilder, IHqlExpressionVisitor visitor)
		{
			string function = method.Name.ToLowerInvariant();
			HqlExpression firstArgument = visitor.Visit(arguments[0]).AsExpression();

			if (arguments.Count == 2)
			{
				return treeBuilder.MethodCall(function, firstArgument, visitor.Visit(arguments[1]).AsExpression());
			}

			return treeBuilder.MethodCall(function, firstArgument);
		}
開發者ID:nikson,項目名稱:nhibernate-core,代碼行數:12,代碼來源:MathGenerator.cs


注:本文中的NHibernate.Hql.Ast.HqlTreeBuilder類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。