public virtual IClassMap GetRootClassMap(string npath, IDomainMap domainMap) { NPathParser parser = new NPathParser(); NPathSelectQuery query = parser.ParseSelectQuery(npath); string className = ((NPathClassName)query.From.Classes[0]).Name; IClassMap rootClassMap = domainMap.MustGetClassMap(className); return(rootClassMap); }
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); }
public virtual NPathQueryType GetNPathQueryType(string npath) { NPathQueryType npathQueryType = NPathQueryType.SelectObjects; try { NPathParser parser = new NPathParser(); NPathSelectQuery query = parser.ParseSelectQuery(npath); npathQueryType = GetNPathQueryType(query); } catch { npathQueryType = NPathQueryType.SelectObjects; } return(npathQueryType); }