All Versions
11
Latest Version
Avg Release Cycle
15 days
Latest Release
71 days ago

Changelog History
Page 1

  • v4.1.45

    December 18, 2019
    1. add code-of-conduct
    2. fix Concurrent Register EnumTypeHandler bug πŸ‘ 3. add support TypeHandler for CommandType.StoredProcedure
  • v4.1.42

    November 19, 2019
    1. fix #94
    2. fix #113
    3. fix CUD use ColumnAttribute.Name bug
    4. fix #114 πŸ‘ 5. add Support for simultaneous use of SqlMap and StatementAttribute
    5. fix #119
    6. Fix ResultMap missing BUG
  • v4.1.33

    October 28, 2019

    ⚑️ 1. optimize TypeUtils error msg

    1. add Ordered for Middlewares
    2. fix CUD bug ⚑️ 4. optimize ConfigBuilder πŸ‘ 5. add support automatically assign [Id] to [Entity] using the IdGenerator
  • v4.1.29

    September 26, 2019

    πŸ‘ 1. add support Auto Converter

    πŸ”§ configure for SmartSqlConfig.xml

     \<AutoConverters\> \<AutoConverter Name="NoneConverter"\> \<Tokenizer Name="None"/\> \<Converter Name="None"/\> \</AutoConverter\> \<AutoConverter Name="Default" Default="true"\> \<Tokenizer Name="Default"/\> \<Converter Name="Pascal"/\> \</AutoConverter\> \<AutoConverter Name="PascalConverter"\> \<Tokenizer Name="Default"\> \<Properties\> \<Property Name="IgnorePrefix" Value="" /\> \<Property Name="Delimiter" Value="\_" /\> \<Property Name="UppercaseSplit" Value="false" /\> \</Properties\> \</Tokenizer\> \<Converter Name="Pascal"/\> \</AutoConverter\> \<AutoConverter Name="DelimiterConverter"\> \<Tokenizer Name="Default"\> \<Properties\> \<Property Name="IgnorePrefix" Value="col\_" /\> \<Property Name="Delimiter" Value="\_" /\> \<Property Name="UppercaseSplit" Value="true" /\> \</Properties\> \</Tokenizer\> \<Converter Name="Delimiter"\> \<Properties\> \<Property Name="Prefix" Value="Col\_" /\> \<Property Name="Delimiter" Value="\_"/\> \<Property Name="Mode" Value="FirstUpper"/\> \</Properties\> \</Converter\> \</AutoConverter\> \</AutoConverters\>
    

    πŸ”§ configure for SqlMaps

    \<!-- to current sql map --\> \<UseAutoConverter Name="DelimiterConverter"/\> \<!-- disabled auto converter to current sql map --\> \<UseAutoConverter Disabled="true"/\> \<!-- assign auto converter at statement --\> \<Statement Id="AssignAutoConverterQuery" AutoConverter="PascalConverter" \> Select \* From T\_AutoConverter\_1 \</Statement\>
    

    assign auto converter at RequestContext

    var list = SqlMapper.Query\<AutoConverter\_2\>(new RequestContext { Scope = "DefaultAutoConverter", SqlId = "AssignAutoFromRequestConverterQuery", AutoConverterName = "DelimiterConverter" });
    
  • v4.1.27

    August 30, 2019

    πŸ“œ 1. fix StatementType parse bug for SmartSql.DataConnector ⚑️ 2. optimize FlushOnExecuted log

    1. fix ISqlMapperExtensions SessionStore.Dispose bug ⚑️ 4. optimize PropertyTokenizer
    2. fix #99
    3. fix #100 -> thx #101 ⚑️ 7. optimize #102
    4. add QueryDynamic/QueryDictionary extension for DbSession/SqlMapper πŸ‘ 9. add support same [Scope] for mutil-sqlmap -> thx #104
  • v4.1.19

    August 13, 2019
    1. add AES/DES TypeHandler impl
    2. init SmartSql.DataConnector πŸ— 3. task builder register smartsql use alias for SmartSql.DataConnector ⚑️ 4. optimize Error log ⚑️ 5. optimize sourceParameterPrefix when null
    3. SmartSql.DataConnector pack as tool πŸ‘ 7. add support Mutil-Publisher-Subscriber for SmartSql.InvokeSync.RabbitMQ πŸ‘ 8. add support Mutil-Publisher-Subscriber for SmartSql.InvokeSync.Kafka πŸ‘ 9. add support DbCommandCreated event for CommandExecuter
    4. fix #89

      Install-Package SmartSql.Oracle

      new SmartSqlBuilder(). UseOracleCommandExecuter() ...

  • v4.1.11

    July 30, 2019

    πŸ‘ 1. add support Now-Tag

     \<Statement Id="GetNow"\> \<Now Property="CreateTime"/\> Select @CreateTime; \</Statement\> \<Statement Id="UpdateDateTime"\> \<Now Property="CreateTime"/\> UPDATE T\_AllPrimitive \<Set\> DateTime =@CreateTime \</Set\> Where Id=@Id \</Statement\>
    
    Select @CreateTime;
    Parameters:[CreateTime=2019/7/30 3:46:18]
    Sql with parameter value: 
    Select '2019/7/30 3:46:18'; (99204db3)
    
    UPDATE T_AllPrimitive
           Set DateTime =@DateTime
          Where Id=@Id
    Parameters:[DateTime=2019/7/30 11:38:13,Id=86088]
    Sql with parameter value: 
    UPDATE T_AllPrimitive
           Set DateTime ='2019/7/30 11:38:13'
          Where Id=86088 
    

    πŸ‘ 1. add support Properties nest propExp

    1. add UsePropertiesFromEnv api for SmartSqlBuilder
    2. add CryptoTypeHandler api - pre
    3. add IFunction api - pre
  • v4.1.10

    July 30, 2019
  • v4.1.9

    July 29, 2019

    πŸ‘ 1. add support IgnoreDbNull ofr SmartSqlConfig πŸ‘ 2. add support AddTypeHandler for SmartSqlBuilder

    1. add GetSetParameterValue api for TypeHandler
    2. add TypeScan
    3. add RegisterEntity for SmartSqlBuilder πŸ‘ 6. add support TypeHandler for Bulk api πŸ‘ 7. add support Cache-Annotation with Cache-XML Mixed use ⚑️ 8. optimize PrepareStatement πŸ‘ 9. add support EnablePropertyChangedTrack/ReadDb/CommandTimeout for StatementAttribute
  • v4.1.5

    July 27, 2019

    πŸ‘ 1. add support CacheKeyTemplate for RequestContext

    1. add Rest api for ICacheManager πŸ‘ 3. add support for dynamic generation of SqlMap with Repository interface

      [Cache("DateCache", "Lru", FlushInterval = 6000)] [Cache("LruCache", "Lru", FlushInterval = 6000)] [Cache("UserCache", "Fifo", FlushOnExecutes = new[] {"UpdateUserName"})] public interface IUsedCacheRepository { [ResultCache("DateCache", Key = "GetNow")] [Statement(Sql = "Select GetDate();")] DateTime GetNow(); [ResultCache("LruCache", Key = "GetId:$id")] [Statement(Sql = "Select @id;")] int GetId(long id); [ResultCache("UserCache", Key = "GetUserById:$id")] [Statement(Sql = "select * from T_User where id=@id;")] User GetUserById(long id); [Statement(Sql = "update T_User set UserName=@userName where id=@id;")] int UpdateUserName(long id, string userName); }