/// <summary> /// Constructor that takes as arguments the statements for an existing relationship plus a newly joined entity sql /// builder. /// </summary> protected RelationshipSqlStatements(RelationshipSqlStatements <TEntity> relationshipStatements, GenericStatementSqlBuilder newlyJoinedEntitySqlBuilder) : this( relationshipStatements._mainEntitySqlStatements, relationshipStatements._joinedEntitiesSqlBuilders, newlyJoinedEntitySqlBuilder) { }
/// <summary> /// Default constructor /// </summary> public FiveEntitiesRelationshipSqlStatements( FourEntitiesRelationshipSqlStatements <TMainEntity, TFirstJoinedEntity, TSecondJoinedEntity, TThirdJoinedEntity> relationshipSqlStatements, GenericStatementSqlBuilder joinedEntitySqlStatements) : base(relationshipSqlStatements, joinedEntitySqlStatements) { }
private void PrepareEnvironment <TEntity>(SqlDialect dialect) { OrmConfiguration.DefaultDialect = dialect; // in real library usage, people will use the ISqlBuilder, but for our tests we're gonna need more than that _currentSqlBuilder = OrmConfiguration.GetSqlBuilder <TEntity>() as GenericStatementSqlBuilder; _currentDialect = dialect; _selectColumnNames = _currentSqlBuilder.SelectProperties.Select(propInfo => propInfo.DatabaseColumnName).ToArray(); }
private RelationshipSqlStatements(ISqlStatements <TEntity> mainEntitySqlStatements, GenericStatementSqlBuilder[] joinedEntitiesSqlBuilders, GenericStatementSqlBuilder newlyJoinedEntitySqlBuilder) { _mainEntitySqlStatements = mainEntitySqlStatements; var alreadyJoinedEntitiesCount = joinedEntitiesSqlBuilders?.Length ?? 0; _joinedEntitiesSqlBuilders = new GenericStatementSqlBuilder[alreadyJoinedEntitiesCount + 1]; _allEntityMappings = new EntityMapping[alreadyJoinedEntitiesCount + 2]; for (var joinedSqlBuilderIndex = 0; joinedSqlBuilderIndex < alreadyJoinedEntitiesCount; joinedSqlBuilderIndex++) { _allEntityMappings[joinedSqlBuilderIndex + 1] = joinedEntitiesSqlBuilders[joinedSqlBuilderIndex].EntityMapping; _joinedEntitiesSqlBuilders[joinedSqlBuilderIndex] = joinedEntitiesSqlBuilders[joinedSqlBuilderIndex]; } _joinedEntitiesSqlBuilders[alreadyJoinedEntitiesCount] = newlyJoinedEntitySqlBuilder; _allEntityMappings[0] = mainEntitySqlStatements.SqlBuilder.EntityMapping; _allEntityMappings[alreadyJoinedEntitiesCount + 1] = newlyJoinedEntitySqlBuilder.EntityMapping; }
/// <summary> /// Constructor that takes as arguments the sql statements for the main entity plus a newly joined entity sql builder. /// </summary> protected RelationshipSqlStatements(ISqlStatements <TEntity> mainEntitySqlStatements, GenericStatementSqlBuilder newlyJoinedEntitySqlBuilder) : this(mainEntitySqlStatements, null, newlyJoinedEntitySqlBuilder) { }
/// <summary> /// Default constructor. /// </summary> public GenericSqlStatements(GenericStatementSqlBuilder sqlBuilder) { _sqlBuilder = sqlBuilder; }
/// <summary> /// Default constructor /// </summary> public ThreeEntitiesRelationshipSqlStatements( TwoEntitiesRelationshipSqlStatements <TMainEntity, TFirstJoinedEntity> relationshipSqlStatements, GenericStatementSqlBuilder joinedEntitySqlStatements) : base(relationshipSqlStatements, joinedEntitySqlStatements) { }
/// <summary> /// Default constructor /// </summary> /// <param name="mainEntitySqlStatements">Main entity SQL statement builder</param> /// <param name="joinedEntitySqlStatements">Joined entity SQL statement builder</param> public TwoEntitiesRelationshipSqlStatements(ISqlStatements <TMainEntity> mainEntitySqlStatements, GenericStatementSqlBuilder joinedEntitySqlStatements) : base(mainEntitySqlStatements, joinedEntitySqlStatements) { }