当前位置: 首页>>代码示例>>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;未经允许,请勿转载。