All Versions
15
Latest Version
Avg Release Cycle
25 days
Latest Release
225 days ago

Changelog History
Page 2

  • 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 [email protected] \</Set\> Where [email protected] \</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 [email protected]
          Where [email protected]
    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 [email protected];")] User GetUserById(long id); [Statement(Sql = "update T_User set [email protected] where [email protected];")] int UpdateUserName(long id, string userName); }

  • v4.1.3

    July 26, 2019
    1. Change Sample DB To SQLite And Fix SQLite ParameterPrefix πŸ‘ 2. add support [For-tag] nest-value-access ⚑️ 3. optimize Check null-Tag.Property from XML-tag ⚑️ 4. optimize Check null-Tag.Property ExceptionMessage πŸ‘ 5. add support Cache-Annotations for Repository-interface - Demo

      [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 Now();")] 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 [email protected];")] User GetUserById(long id); [Statement(Sql = "update T_User set [email protected] where [email protected];")] int UpdateUserName(long id, string userName); }

    πŸ‘ 1. add support ColumnAttribute for EntityDeserializer πŸ‘ 2. add support ColumnAttribute for RequestConvert πŸ‘ 3. add support ParamAttribute for TypeHandler

    1. add ResultType From ArrayType to Object for ExecuteScalar.

      [Annotations.Table("t_annotation_entity")] public class ColumnAnnotationEntity { [Annotations.Column("id", IsAutoIncrement = true)] public long Id { get; set; } [Annotations.Column("name")] public String Name { get; set; } [Annotations.Column("extend_data", TypeHandler = "Json")] public ExtendData Data { get; set; } public class ExtendData { public String Info { get; set; } } }


    public interface IColumnAnnotationRepository { ISqlMapper SqlMapper { get; } [Statement(Sql = "Select Top 1 T.\* From t\_column\_annotation\_entity T where [email protected]")] ColumnAnnotationEntity GetEntity(long id); [Statement(Sql ="INSERT INTO t\_column\_annotation\_entity(name,extend\_data)VALUES(@Name,@Data);Select Scope\_Identity();")] int Insert(ColumnAnnotationEntity entity); [Statement(Sql ="INSERT INTO t\_column\_annotation\_entity(name,extend\_data)VALUES(@Name,@Data);Select Scope\_Identity();")] int Insert([Param("Name")] string name, [Param("Data", TypeHandler = "Json")] ColumnAnnotationEntity.ExtendData data); }