public GroupByBuilder(SqlDataModel <TEntity> dataModel, ValueConverter <TEntity> valueConverter) { _dataModel = dataModel; _dataSchema = dataModel.DataSchema; _valueConverter = valueConverter; _tableIdentifier = valueConverter.TableIdentifier; }
public ColumnWithAliasSourceQueryExpression(string columnName, IAliasIdentifier sourceIdentifier, SqlStorageField sqlStorageField) : base(columnName, sourceIdentifier == null ? null : new AliasReferenceQueryExpression(sourceIdentifier)) { ColumnName = columnName; SourceIdentifier = sourceIdentifier; SqlStorageField = sqlStorageField; }
public ConditionBuilder(SqlDataModel <TEntity> dataModel, ConditionConverter <TEntity> conditionConverter) { _dataModel = dataModel; _dataSchema = dataModel.DataSchema; _conditionConveter = conditionConverter; _tableIdentifier = conditionConverter.TableIdentifier; }
public JoinBuilder(JoinSpecification <TEntity> specification, IAliasIdentifier left, IAliasIdentifier right, JoinDirection direction, params JoinColumnPair[] columnPairs) { Left = left; Right = right; Direction = direction; ColumnPairs = columnPairs; Specification = specification; }
public ProjectionBuilder(SqlDataModel <TEntity> dataModel, ValueConverter <TEntity> valueConverter, IObjectFactory objectFactory = null) { _dataModel = dataModel; _dataSchema = dataModel.DataSchema; _valueConverter = valueConverter; _tableIdentifier = valueConverter.TableIdentifier; _objectFactory = objectFactory ?? DefaultObjectFactory.Instance; }
public JoinBuilder(JoinSpecification <TEntity> specification, IAliasIdentifier left, IAliasIdentifier right, string rightAlias, JoinDirection direction, params JoinColumnPair[] columnPairs) : this(specification, left, right, direction, columnPairs) { _rightAlias = rightAlias; }
public ConditionConverter(SqlDataModel <TEntity> dataModel, IAliasIdentifier tableIdentifier) { _visitor = new ExpressionConversionVisitor <TEntity>(dataModel, tableIdentifier); }
public AliasReferenceQueryExpression(IAliasIdentifier aliasIdentifier) : base(null) { AliasIdentifier = aliasIdentifier; }
internal IEnumerable <(JoinBuilder <TEntity> Builder, IAliasIdentifier Alias)> CreateJoin(DataSchema dataSchema, SqlStorageField <TEntity> storageField, IAliasIdentifier tableIdentifier) { if (RequiredJoin != null) { foreach (var parentJoin in RequiredJoin.CreateJoin(dataSchema, storageField, tableIdentifier)) { yield return(parentJoin); } } var joinedDataModel = dataSchema.Sql.SqlEntities.FirstOrDefault(q => q.EntityType == EntityType); var leftIdentifier = tableIdentifier; if (RequiredJoin != null) { leftIdentifier = new ImmutableIdentifier(RequiredJoin.JoinName); } var rightIdentifier = new ImmutableIdentifier(joinedDataModel.StorageModel.DefaultTableName); var aliasIdentifier = new ImmutableIdentifier(JoinName); var joinBuilder = CreateJoin( leftIdentifier, rightIdentifier, aliasIdentifier.AliasIdentifier ); yield return(joinBuilder, aliasIdentifier); }
public IEnumerable <JoinBuilder <TEntity> > CreateJoinChain(DataSchema dataSchema, IAliasIdentifier tableIdentifier) { return(CreateJoin(dataSchema, null, tableIdentifier).Select(q => q.Builder)); }
public JoinBuilder <TEntity> CreateJoin(IAliasIdentifier left, IAliasIdentifier right, string rightAlias) { return(new JoinBuilder <TEntity>(this, left, right, rightAlias, JoinDirection.Left, JoinColumns)); }
public ExpressionConversionVisitor(SqlDataModel <TEntity> dataModel, IAliasIdentifier tableIdentifier = null) { DataModel = dataModel; _dataSchema = dataModel.DataSchema; _tableIdentifier = tableIdentifier ?? new ImmutableIdentifier(dataModel.StorageModel.DefaultTableName); }