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. 使用mongodb的一些笔记

    show dbs # 从结果中发现有cmb_demo_23_hackeruse cmb_demo_23_hacker db.all_in_one.find({"_id":15480 ...

  2. nodejs编译遇到的问题

    src\node_contextify.cc:631: Assertion 'args[1]->IsString()' failed. node 10 版本会出现这个问题, 安装natives后 ...

  3. [zt+总结]wpf 应用权限问题

    一.Inno Setup打包添加和去除管理员权限 转载:https://www.cnblogs.com/walker-lc/articles/3470679.html 添加管理员权限 1.在[Setu ...

  4. vs2012开发基于MFC的ActiveX控件

    1.新建工程 2.一直点击下一步,直到出现一下界面,注意红色标注选项,点击完成. 3.进入工程的属性界面,设置工程属性 4.添加对话框资源及其他控件,添加对话框类, 5.设置对话框属性 6.设置Dia ...

  5. 怎样做ie兼容性

    1.<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />强制把不标准的转 ...

  6. 20175324 mycp

    具体描述: 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX2.bin 用来把文本文件(内容 ...

  7. [LeetCode] Mirror Reflection 镜面反射

    There is a special square room with mirrors on each of the four walls.  Except for the southwest cor ...

  8. tomcat +jenkios

    来源:https://www.cnblogs.com/edward2013/p/5269465.html 1. 安装JDK JDK下载地址:  http://www.oracle.com/techne ...

  9. BOM与DOM操作

    BOM: OM-JavaScript是运行在浏览器中的,所以提供了一系列对象用于和浏览器窗口进行交互,这些对象主要包括window.document.location.navigator和screen ...

  10. unittest批量执行测试用例

    现有四个测试用例分别在两个.py文件中,如何执行这些文件? unittest中有这样处理:unittest.TestLoader().discover() 第一个文件test_case1.py fro ...