Changelog History
Page 2
-
v4.1.11 Changes
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
- add UsePropertiesFromEnv api for SmartSqlBuilder
- add CryptoTypeHandler api - pre
- add IFunction api - pre
-
v4.1.10
July 30, 2019 -
v4.1.9 Changes
July 29, 2019👍 1. add support IgnoreDbNull ofr SmartSqlConfig 👍 2. add support AddTypeHandler for SmartSqlBuilder
- add GetSetParameterValue api for TypeHandler
- add TypeScan
- 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 Changes
July 27, 2019👍 1. add support CacheKeyTemplate for RequestContext
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); }
-
v4.1.3 Changes
July 26, 2019Change 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 id=@id;")] User GetUserById(long id); [Statement(Sql = "update T_User set UserName=@userName where id=@id;")] int UpdateUserName(long id, string userName); }
👍 1. add support ColumnAttribute for EntityDeserializer 👍 2. add support ColumnAttribute for RequestConvert 👍 3. add support ParamAttribute for TypeHandler
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 T.id=@id")] 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); }