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. windows下编译SDL1.2

    首先,官网下载开发库,我这里用的是tdm-gcc,因此下载mingw版的. 解压,写代码,编译…… 成功!...地出错了 这里提一下,编译命令是 g++ test.cpp -I include目录  ...

  2. Debug命令详解

    Debug在学习汇编的过程中,担任着一个非常重要的角色,是一个极其重要的调试工具,所以学会它是必须的. 命令格式 功能说明 A [地址] 输入汇编指令 C [范围] 起始地址 对由“范围”指定的区域与 ...

  3. 新建一个express项目的流程

    1.先创建一个文件夹,然后创建一个项目,默认有一个:package.json 文件 #初始化项目 npm init 2.初始化项目会出现一个默认的提醒 #这个实用程序将指导您创建一个包,json文件. ...

  4. vbs脚本实现自动打字祝福&搞笑

    脚本祝福礼物 概述 听说抖音上流行一种用代码做程序表白的东西,,,, 当然我也不是要表白,,,, 但是好像蛮有意思的,,,, 于是,又学了一下vbs脚本,做了几个很不错的祝福脚本,不懂代码的可以直接戳 ...

  5. mysql import error

    mysql导入文件一直出错,显示ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option s ...

  6. Linux一键安装宝塔控制面板

    Linux一键安装宝塔的命令行 yum install -y wget && wget -O install.sh http://download.bt.cn/install/inst ...

  7. Maven插件一览

    maven-assembly-plugin 将对应模块依赖在  mvn package 阶段全部打到一个 jar 包里面: java -cp xx.jar package.name.MainClass ...

  8. High Availability手册(1): 环境

    三台KVM虚拟机 首先我们得有一个pacemaker的环境,需要三台机器,如果没有那么多物理机器,可以用kvm虚拟机 创建一个bridge ovs-vsctl add-br ubuntu_br ifc ...

  9. [编译] 6、开源两个简单且有用的安卓APP命令行开发工具和nRF51822命令行开发工具

    星期四, 27. 九月 2018 12:00上午 - BEAUTIFULZZZZ 一.前言 前几天给大家介绍了如何手动搭建安卓APP命令行开发环境和nRF51822命令行开发环境,中秋这几天我把上面篇 ...

  10. 安卓开发学习笔记(三):Android Stuidio无法引用Intent来创建对象,出现cannot resolve xxx

    笔者在进行安卓开发时,发现自己的代码语法完全没有问题.尤其是创建intent对象的时候,语法完全是正确的,但是Android Stuidio却显示报错,Intent类显示为红色,如图所示: 代码如下所 ...