コード例 #1
0
        public PropertyPathTraverser(SqlEmitter sqlEmitter)
        {
            this.sqlEmitter = sqlEmitter;

            joinTree = new JoinTree(this);

            joinTree.TableMap = sqlEmitter.RootClassMap.MustGetTableMap();
        }
コード例 #2
0
        public virtual string ToScalarSql(string npath, Type type, ref IList outParameters, IList inParameters)
        {
            NPathParser      parser = new NPathParser();
            NPathSelectQuery query  = parser.ParseSelectQuery(npath, inParameters);

            IClassMap rootClassMap = this.Context.DomainMap.MustGetClassMap(type);

            this.ResultParameters = new ArrayList();

            SqlEmitter sqlEmitter = new SqlEmitter(this, query, NPathQueryType.SelectScalar, rootClassMap);

            string sql = sqlEmitter.EmitSql();

            outParameters = sqlEmitter.ResultParameters;

            return(sql);
        }
コード例 #3
0
 private NPathQueryType GetNPathQueryType(NPathSelectQuery query)
 {
     return(SqlEmitter.DeduceQueryType(query));
 }
コード例 #4
0
 public override string Emit(BonsaiExpression exp, Emitter top, Emitter next) => SqlEmitter.Emit(exp, top, next);