internal SqlStatementFormatter(EntityDescriptor mainEntityDescriptor, EntityMapping mainEntityMapping, ISqlBuilder mainEntitySqlBuilder)
 {
     this.MainEntityType = mainEntityDescriptor.EntityType;
     this.MainEntityDescriptor = mainEntityDescriptor;
     this.MainEntitySqlBuilder = mainEntitySqlBuilder;
     this.MainEntityMapping = mainEntityMapping;
 }
 public SqLiteBuilder(EntityDescriptor entityDescriptor, EntityMapping entityMapping)
     : base(entityDescriptor, entityMapping, SqlDialect.SqLite)
 {
     if (this.KeyProperties.Length > 1)
     {
         throw new NotSupportedException($"Entity <{entityMapping.EntityType.Name}> has more than one primary keys. This is not supported by SqLite.");
     }
 }
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="mainEntityDescriptor">Main entity descriptor</param>
 /// <param name="mainEntityMapping">Main entity mappings</param>
 /// <param name="mainEntitySqlBuilder">SQL mapper for the main entity</param>
 /// <param name="forceColumnAsTableColumnResolution">If true, the format identifier 'C' will be treated as 'TC' </param>
 internal SqlStatementFormatter(EntityDescriptor mainEntityDescriptor, EntityMapping mainEntityMapping, ISqlBuilder mainEntitySqlBuilder, bool forceColumnAsTableColumnResolution)
 {
     _forceColumnAsTableColumnResolution = forceColumnAsTableColumnResolution;
     this.MainEntityType = mainEntityDescriptor.EntityType;
     this.MainEntityDescriptor = mainEntityDescriptor;
     this.MainEntitySqlBuilder = mainEntitySqlBuilder;
     this.MainEntityMapping = mainEntityMapping;            
 }
 public PostgreSqlBuilder(EntityDescriptor entityDescriptor, EntityMapping entityMapping)
     : base(entityDescriptor, entityMapping, SqlDialect.PostgreSql)
 {
 }
 /// <summary>
 /// If overridden, returns the sql builder associated with the optional entity descriptor and entity mapping.
 /// Note: Any or all the parameters can be <c>NULL</c>
 /// </summary>
 protected virtual ISqlBuilder GetSqlBuilder(EntityDescriptor entityDescriptor, EntityMapping entityMapping)
 {
     return null;
 }