SmartSql 更新历史记录

3.7.0

  1. support cross SqlMap reference for #30
  2. modifying Statement.Ref for delay dependence
  3. optimize Analyse Statement.SqlCommandType
  4. optimize CheckIncludeCyclicDependency
  5. fixed MultipleResultMap.Root result Map
  6. fixed PreparedCommand Sql log output for IgnoreParameterCase

3.6.8

  1. add support Statement for Transaction
  2. optimize Log output for issues:35
  3. add support [.] PropertyAccessor
  4. add support alias for SmartSqlOptions

3.6.6

  1. fixed ObjectUtils key conflicts
  2. add support for SmartSqlMapper multiple instance injection
  3. add support for IServiceProvider.GetSmartSqlMapper(string configPath)
      var smartSqlMapper = serviceProvider.GetSmartSqlMapper("SmartSql");
var smartSqlMapper_1 = serviceProvider.GetSmartSqlMapper("SmartSql-1");
  1. optimize Options DI for SmartSqlOptions.UseOptions
            var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("SmartSqlConfig.json", false, true); var configuration = builder.Build();
var services = new ServiceCollection(); services.AddOptions();
var smartSqlConfigJson = configuration.GetSection("SmartSqlConfig");
services.Configure<SmartSqlConfigOptions>("SmartSql", smartSqlConfigJson); services.AddSmartSql(sp =>
{
return new SmartSqlOptions
{
ConfigPath= "SmartSql"
}.UseOptions(sp);
});

3.6.4

  1. added support Root for MultipleResultMap
  2. added support ReadDb for Statement
  3. optimized PreparedCommand.Prepare log output

3.6.3

  1. optimized ITransaction Extension
  2. default injection SmartSql for AddRepository DI
  3. fixed path error for SmartSql.Options
  4. fixed SqlCommandAnalyzer
  5. add SqlIdNamingConvert

v3.6.0-rc1

  1. add MultipleResultMap
  2. add GetNested api
  3. add GetNestedAsync api
  4. add FillMultiple api
  5. add FillMultipleAsync api
  6. optimized ValueTuple result type for Repository
  7. add support Nested result type for Repository
    <MultipleResultMap Id="QueryByPageMReuslt">
<Result Property="Total"/>
<Result Property="List"/>
</MultipleResultMap>
<Statement Id="MQueryByPage" MultipleResultMap="QueryByPageMReuslt">
Select Count(1) From T_Entity;
Select Top 10 T.* From T_Entity T
</Statement>
    public class QueryByPageResponse
{
public int Total { get; set; }
public IEnumerable<T_Entity> List { get; set; }
} QueryByPageResponse MQueryByPage();

v3.5.14

  1. enhanced Maps.Statement support for CommandType and SourceChoice
  2. fixed Tag.For NotDirectValue bug
  3. optimized RequestContext.Request is DbParameterCollection

v3.5.10

  1. fixed Generic nested return value bug
  2. optimized DyRepository DI register
  3. fixed the same naming problems with different repository interfaces
  4. enhanced stored procedure support
  5. fixed the cache penetration problem with the cache value of null
  6. optimized storage procedure call interface construction

v3.5.3

  1. add support ValueTuple result
(int,User) QueryByPage(object reqParams);

(int,T) QueryByPage<T>(object reqParams);

v3.5.2

  1. add support SmartSqlMapConfig.SmartSqlMap.Type=DirectoryWithAllSub

v3.5.1

  1. add support QueryMultiple and QueryMultipleAsync
  2. SmartSql.DyRepository add support QueryMultiple And QueryMultipleAsync result
  3. support change table structure auto Deserializer
  4. SmartSql.Options add UserOptions for DI
  5. add support Env SmartSqlConfigPath
    • 5.1 Production => SmartSqlMapConfig.xml
    • 5.2 Development => SmartSqlMapConfig.Development.xml
    • 5.3 Staging => SmartSqlMapConfig.Staging.xml

v3.4.9

  1. fix DyRepository ExecuteBehavior.Auto bug

v3.4.8

  1. optimize DyRepository automatic execute for return int
  2. optimize default excute DataSourceChoice
  3. add support StatementAttribute.CommandType and SourceChoice

v3.4.3

  1. fix sqlmap hot update bug
  2. add support multi SmartSqlMapper instance
  3. fix Tag.Placeholder Space bug
  4. optimize SQL output
  5. Support for returning generic type nesting
  6. add support IRepositoryAsync
  7. add support muti custom scope_template
  8. fix Cache.FlushInterval attr bug
  9. optimize the resource reading directory

v3.3.8

  • fix GetDataSetAsync to use NextResultAsync
  • fix IsStatementSql.Defalut-Value=true
  • SmartSql.DyRepository support ParamAttribute
  • add SmartSql.Options DI AddSmartSqlOptionLoader & AddSmartSqlOption

v3.3.6

  • add ISession
  • add ITransaction
  • add ISession to DI
  • add ITransaction to DI
  • add ISmartSqlMapperAsync to DI

v3.3.3

  • add support ResultMap.Constructor
  • add support private ctor entity deser

v3.3.1

  • SmartSql.DyRepository add support asynchronous function
  • add support DEBUG-log output SQL And DBParameters.

v3.2.0

  1. add support pure SQL parameters For RequestContext.RealSql
  2. add support SmartSql.DyRepository Sql Attribute For StatementAttribute.Sql

SmartSql.DyRepository Demo

        [Statement(Sql = "Select Top(@Taken) T.* From T_Entity T With(NoLock);")]
IEnumerable<T_Entity> QueryBySql(int Taken);

v3.1.0

  1. add GetDataTable Method
  2. add GetDataSet Method
  3. add GetDataTableAsync Method
  4. add GetDataSetAsync Method

SmartSql V3 Update

The lightest ORM in history! 107kb

Update content

  1. Remove Dapper dependency
  2. Support stored procedures
  3. Enhanced extensibility
  4. Refactoring code
  5. Optimal cache trigger strategy
  6. Dynamic implementation of Repository interface
  7. Support Parameter & Result Map & TypeHandler
  8. High performance

Performance evaluation


BenchmarkDotNet=v0.10.14, OS=Windows 10.0.17134
Intel Core i7-6700K CPU 4.00GHz (Skylake), 1 CPU, 8 logical and 4 physical cores
.NET Core SDK=2.1.201
[Host] : .NET Core 2.0.7 (CoreCLR 4.6.26328.01, CoreFX 4.6.26403.03), 64bit RyuJIT
DefaultJob : .NET Core 2.0.7 (CoreCLR 4.6.26328.01, CoreFX 4.6.26403.03), 64bit RyuJIT
ORM Type Method Return Mean Error StdDev Rank Gen 0 Gen 1 Gen 2 Allocated
Native NativeBenchmarks Query_GetValue_DbNull IEnumerable 78.39 ms 0.8935 ms 0.7921 ms 1 3000.0000 1125.0000 500.0000 15.97 MB
SmartSql SmartSqlBenchmarks Query IEnumerable 78.46 ms 0.2402 ms 0.1875 ms 1 2312.5000 1000.0000 312.5000 12.92 MB
SmartSqlDapper SmartSqlDapperBenchmarks Query IEnumerable 78.65 ms 1.2094 ms 1.1312 ms 1 3687.5000 1437.5000 687.5000 19.03 MB
Native NativeBenchmarks Query_IsDBNull_GetValue IEnumerable 78.84 ms 0.8984 ms 0.7502 ms 1 2312.5000 1000.0000 312.5000 12.92 MB
Dapper DapperBenchmarks Query IEnumerable 79.00 ms 1.0949 ms 0.9706 ms 1 3312.5000 1312.5000 625.0000 17.19 MB
EF EFBenchmarks Query IEnumerable 79.44 ms 1.6880 ms 1.5789 ms 1 6250.0000 - - 26.05 MB
SqlSugar SqlSugarBenchmarks Query IEnumerable 81.09 ms 0.8718 ms 0.7728 ms 2 2187.5000 875.0000 250.0000 12.64 MB
Chloe ChloeBenchmarks Query IEnumerable 83.86 ms 1.2714 ms 1.1893 ms 3 2250.0000 937.5000 312.5000 12.62 MB
EF EFBenchmarks SqlQuery IEnumerable 89.11 ms 0.7562 ms 0.6314 ms 4 8187.5000 125.0000 - 33.68 MB
EF EFBenchmarks Query_NoTracking IEnumerable 93.13 ms 0.8458 ms 0.7912 ms 5 5875.0000 2250.0000 1062.5000 29.71 MB
EF EFBenchmarks SqlQuery_NoTracking IEnumerable 106.89 ms 1.0998 ms 1.0288 ms 6 7437.5000 2875.0000 1312.5000 37.34 MB

SmartSql 更新日志的更多相关文章

  1. [实战]MVC5+EF6+MySql企业网盘实战(29)——更新日志

    摘要 NetDisk更新日志,及项目使用说明. 开发工具 Vs2013+mysql+ef6+mvc5 bug 1.在加载列表的时候,默认加载的所有,修改为,过滤逻辑删除的文件. 2.加载音乐,文档等分 ...

  2. AgileEAS.NET SOA中间件平台更新日志 2015-04-28

    一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...

  3. python解析git log后生成页面显示git更新日志信息

    使用git log可以查到git上项目的更新日志. 如下两个git项目,我想把git的日志信息解析成一个便于在浏览器上查看的页面. https://github.com/gityf/lua https ...

  4. Easy Sysprep更新日志-skyfree大神

    Easy Sysprep更新日志: Skyfree 发表于 2016-1-22 13:55:55 https://www.itsk.com/forum.php?mod=viewthread&t ...

  5. 更新日志 - fir.im「高级统计」功能上线

    距离 2016 年到来只剩 10 个日夜,fir.im 也准备了一些新鲜的东西,比如「高级统计」功能和「跳转应用商店」功能,帮助你更好地管理.优化应用,欢迎大家试用反馈:) 新增高级统计功能 这次更新 ...

  6. 更新日志 - fir.im Jenkins & Gradle 插件上线

    最近 fir.im 工程师们效率爆表,fir.im 实用工具集合又添加了新的成员-- Jenkins & Gradle 插件,让 App 打包上传更加简单快速. fir.im Jenkins ...

  7. 更新日志 - BugHD 新增邮件告警功能

    最近 BugHD 又新增了一些功能,包括邮件告警. issue 分享. issue 备注等,同时也做了性能优化.希望能够帮助你更高效地收集解决应用崩溃. BugHD 新增功能 1.邮件告警 除了 We ...

  8. 更新日志 - fir.im 新版优化上线

    经过这段时间的用户反馈收集和新版本的功能调研,我们对 fir.im Rio 上传下载.应用管理再次做了调整优化.感谢之前内测用户的反馈与建议.目前 fir.im Rio 新版已正式上线,主要优化有以下 ...

  9. 更新日志 - BugHD iOS 客户端上线

    中秋.十一长假归来,"满血复活"的我们做了 fir.im 和 BugHD 的优化更新:) BugHD 新增功能 1.iOS 客户端上线 BugHD iOS 客户端上线了,你可以随时 ...

随机推荐

  1. 从Excel导数据到MySQL速度优化

    运行环境: Windows10 和 Deepin15.7, MySQL14.4, Java1.8.0_181使用工具: poi,JDBC数据规模: 35万条,5个文件夹,146个Excel文件(.xl ...

  2. MicroSoft CryptoAPI data/file encrypt/decrypt

    linux 用第三方库 Crypto++, 还未实战. CryptoAPI使用两种密钥:会话密钥与公共/私人密钥对.会话密钥使用相同的加密和解密密钥,这种算法较快,但必须保证密钥的安全传递.公共/私人 ...

  3. icpc2018焦作-I. Distance

    第一发又超时了... 题目大意:给你n个点,然后给你n-1的数,表示两两距离,然后让你输出n个答案,第i个答案表示从这n个点里面挑i个点,然后这i个点两两之间会有一个距离,答案要求这些距离和的最大值. ...

  4. Centos7 通配符HTTPS证书申请 实测 笔记

    环境: 免费通配符HTTPS证书网址: https://letsencrypt.org/ 1.下载证书申请工具 [root@centos ~]# mkdir /opt/letsencrypt -p [ ...

  5. swust oj 1011

    二叉排序树的实现和查找 1000(ms) 10000(kb) 2782 / 6301 按照给定的关键字集合,建立二叉排序树.在建立的二叉排序树上查找指定的关键字,查找成功,输出找到该关键字比较的次数: ...

  6. node.js搭建Web服务器

    Node.js 博客搭建 一. 学习需求 Node 的安装运行 会安装node,搭建node环境 会运行node. 基础模块的使用 Buffer:二进制数据处理模块 Event:事件模块 fs:文件系 ...

  7. truffle unbox react 出坑指南

    最近几天差点就被这鬼东西给逼疯了,truffle init .truffle unbox webpack 不管我怎么运行都是对的,唯独truffle unbox react 不管在哪个windows都 ...

  8. Mesos源码分析(7): Mesos-Slave的启动

      Mesos-Slave的启动是从src/slave/main.cpp中的main函数开始的.   看过了Mesos-Master的启动过程,Mesos-Slave的启动没有那么复杂了.   1. ...

  9. Hadoop源码分析(1):HDFS读写过程解析

    一.文件的打开 1.1.客户端 HDFS打开一个文件,需要在客户端调用DistributedFileSystem.open(Path f, int bufferSize),其实现为: public F ...

  10. 依赖注入[2]: 基于IoC的设计模式

    正如我们在<控制反转>提到过的,很多人将IoC理解为一种"面向对象的设计模式",实际上IoC自身不仅与面向对象没有必然的联系,它也算不上是一种设计模式.一般来讲,设计模 ...