internal static QueryFactory CreateQueryFactory(XQuery xQuery) { var factory = new QueryFactory(xQuery.Connection, xQuery.Compiler); factory.Logger = xQuery.Logger; return(factory); }
public Query Query() { var query = new XQuery(this.Connection, this.Compiler); query.Logger = Logger; return(query); }
public Query Query() { var query = new XQuery(this.Connection, this.Compiler, this.Transaction); query.QueryFactory = this; query.Logger = Logger; return(query); }
internal static QueryFactory CreateQueryFactory(Query query) { XQuery xQuery = CastToXQuery(query); QueryFactory factory = new QueryFactory(xQuery.Connection, xQuery.Compiler); factory.Logger = xQuery.Logger; return(factory); }
public Query Query() { XQuery query = new XQuery(this.Connection, this.Compiler); query.QueryFactory = this; query.Logger = Logger; return(query); }
public Query Query(Query query) { var xQuery = new XQuery(this.Connection, this.Compiler); xQuery.Clauses = query.Clauses.Select(x => x.Clone()).ToList(); xQuery.QueryAlias = query.QueryAlias; xQuery.IsDistinct = query.IsDistinct; xQuery.Method = query.Method; xQuery.SetEngineScope(query.EngineScope); return(xQuery); }
public override Query Clone() { var query = new XQuery(this.Connection, this.Compiler); query.Clauses = this.Clauses.Select(x => x.Clone()).ToList(); query.QueryAlias = QueryAlias; query.IsDistinct = IsDistinct; query.Method = Method; query.SetEngineScope(EngineScope); return(query); }
public override Query Clone() { var query = new XQuery(this.Connection, this.Compiler, this.Transaction); query.Clauses = this.Clauses.Select(x => x.Clone()).ToList(); query.Logger = this.Logger; query.QueryAlias = QueryAlias; query.IsDistinct = IsDistinct; query.Method = Method; query.Includes = Includes; query.Variables = Variables; query.SetEngineScope(EngineScope); return(query); }
internal static XQuery CastToXQuery(Query query, string method = null) { XQuery xQuery = query as XQuery; if (xQuery is null) { if (method == null) { throw new InvalidOperationException($"Execution methods can only be used with `XQuery` instances, consider using the `QueryFactory.Query()` to create executable queries, check https://sqlkata.com/docs/execution/setup#xquery-class for more info"); } else { throw new InvalidOperationException($"The method ${method} can only be used with `XQuery` instances, consider using the `QueryFactory.Query()` to create executable queries, check https://sqlkata.com/docs/execution/setup#xquery-class for more info"); } } return(xQuery); }
/// <summary> /// Create an XQuery instance from a regular Query /// </summary> /// <param name="query"></param> /// <returns></returns> public Query FromQuery(Query query) { var xQuery = new XQuery(this.Connection, this.Compiler, this.Transaction); xQuery.QueryFactory = this; xQuery.Clauses = query.Clauses.Select(x => x.Clone()).ToList(); xQuery.SetParent(query.Parent); xQuery.QueryAlias = query.QueryAlias; xQuery.IsDistinct = query.IsDistinct; xQuery.Method = query.Method; xQuery.Includes = query.Includes; xQuery.Variables = query.Variables; xQuery.SetEngineScope(query.EngineScope); xQuery.Logger = Logger; return(xQuery); }