public UnionSelectQuery <TResult> From <TEntity>(Action <SelectFromBuilder <TEntity> > configure) { if (configure == null) { throw new ArgumentNullException(nameof(configure), "Select builder configure action must be provided."); } var builder = new SelectFromBuilder <TEntity>(); configure.Invoke(builder); _selects.Add(builder.BuildQuery()); if (!_metadataResolved) { (Type propertyType, PostgresDataType dataType) = builder.GetMetadata(); _propertyType = propertyType; _dataType = dataType; } return(this); }
public SelectQueryFluentBuilder <TModel, TModel> SelectOnly(FieldListBuilder <TModel> builder) { return(new SelectQueryFluentBuilder <TModel, TModel>(SelectFromBuilder.FromFieldListBuilder(builder), false, _executor)); }
public SelectQueryFluentBuilder <TModel, bool> Exists() { return(new SelectQueryFluentBuilder <TModel, bool>(SelectFromBuilder.FromExpression <TModel, int>(x => 1), true, _executor)); }
public SelectQueryFluentBuilder <TModel, TNewModel> Select <TNewModel>(Expression <Func <TModel, TNewModel> > pr) { return(new SelectQueryFluentBuilder <TModel, TNewModel>(SelectFromBuilder.FromExpression(pr), false, _executor)); }
public SelectQueryFluentBuilder <TModel, TModel> Select() { return(new SelectQueryFluentBuilder <TModel, TModel>(SelectFromBuilder.AllColumns <TModel>(), false, _executor)); }
public SelectQueryFluentBuilder(SelectFromBuilder selectFromBuilder, bool existsQuery, QueryExecutor executor = null) { _executor = executor; _selectFromBuilder = selectFromBuilder; _existsQuery = existsQuery; }
public SelectQueryFluentBuilder <TCombinedModel, TNewModel> Select <TNewModel>(Expression <Func <TCombinedModel, TNewModel> > pr) { return(new SelectQueryFluentBuilder <TCombinedModel, TNewModel>(SelectFromBuilder.FromCombinedExpression(_tablesList, pr), false, _executor)); }
public SelectQueryFluentBuilder <TCombinedModel, TCombinedModel> Select() { return(new SelectQueryFluentBuilder <TCombinedModel, TCombinedModel>(SelectFromBuilder.AllColumnsFromCombined <TCombinedModel>(_tablesList), false, _executor)); }