SmartSql 更新日志
SmartSql 更新历史记录
3.7.0
- support cross SqlMap reference for #30
- modifying Statement.Ref for delay dependence
- optimize Analyse Statement.SqlCommandType
- optimize CheckIncludeCyclicDependency
- fixed MultipleResultMap.Root result Map
- fixed PreparedCommand Sql log output for IgnoreParameterCase
3.6.8
- add support Statement for Transaction
- optimize Log output for issues:35
- add support [.] PropertyAccessor
- add support alias for SmartSqlOptions
3.6.6
- fixed ObjectUtils key conflicts
- add support for SmartSqlMapper multiple instance injection
- add support for IServiceProvider.GetSmartSqlMapper(string configPath)
var smartSqlMapper = serviceProvider.GetSmartSqlMapper("SmartSql");
var smartSqlMapper_1 = serviceProvider.GetSmartSqlMapper("SmartSql-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
- added support Root for MultipleResultMap
- added support ReadDb for Statement
- optimized PreparedCommand.Prepare log output
3.6.3
- optimized ITransaction Extension
- default injection SmartSql for AddRepository DI
- fixed path error for SmartSql.Options
- fixed SqlCommandAnalyzer
- add SqlIdNamingConvert
v3.6.0-rc1
- add MultipleResultMap
- add GetNested api
- add GetNestedAsync api
- add FillMultiple api
- add FillMultipleAsync api
- optimized ValueTuple result type for Repository
- 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
- enhanced Maps.Statement support for CommandType and SourceChoice
- fixed Tag.For NotDirectValue bug
- optimized RequestContext.Request is DbParameterCollection
v3.5.10
- fixed Generic nested return value bug
- optimized DyRepository DI register
- fixed the same naming problems with different repository interfaces
- enhanced stored procedure support
- fixed the cache penetration problem with the cache value of null
- optimized storage procedure call interface construction
v3.5.3
- add support ValueTuple result
(int,User) QueryByPage(object reqParams);
(int,T) QueryByPage<T>(object reqParams);
v3.5.2
- add support SmartSqlMapConfig.SmartSqlMap.Type=DirectoryWithAllSub
v3.5.1
- add support QueryMultiple and QueryMultipleAsync
- SmartSql.DyRepository add support QueryMultiple And QueryMultipleAsync result
- support change table structure auto Deserializer
- SmartSql.Options add UserOptions for DI
- add support Env SmartSqlConfigPath
- 5.1 Production => SmartSqlMapConfig.xml
- 5.2 Development => SmartSqlMapConfig.Development.xml
- 5.3 Staging => SmartSqlMapConfig.Staging.xml
v3.4.9
- fix DyRepository ExecuteBehavior.Auto bug
v3.4.8
- optimize DyRepository automatic execute for return int
- optimize default excute DataSourceChoice
- add support StatementAttribute.CommandType and SourceChoice
v3.4.3
- fix sqlmap hot update bug
- add support multi SmartSqlMapper instance
- fix Tag.Placeholder Space bug
- optimize SQL output
- Support for returning generic type nesting
- add support IRepositoryAsync
- add support muti custom scope_template
- fix Cache.FlushInterval attr bug
- 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
- add support pure SQL parameters For RequestContext.RealSql
- 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
- add GetDataTable Method
- add GetDataSet Method
- add GetDataTableAsync Method
- add GetDataSetAsync Method
SmartSql V3 Update
The lightest ORM in history! 107kb
Update content
- Remove Dapper dependency
- Support stored procedures
- Enhanced extensibility
- Refactoring code
- Optimal cache trigger strategy
- Dynamic implementation of Repository interface
- Support Parameter & Result Map & TypeHandler
- 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 更新日志的更多相关文章
- [实战]MVC5+EF6+MySql企业网盘实战(29)——更新日志
摘要 NetDisk更新日志,及项目使用说明. 开发工具 Vs2013+mysql+ef6+mvc5 bug 1.在加载列表的时候,默认加载的所有,修改为,过滤逻辑删除的文件. 2.加载音乐,文档等分 ...
- AgileEAS.NET SOA中间件平台更新日志 2015-04-28
一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...
- python解析git log后生成页面显示git更新日志信息
使用git log可以查到git上项目的更新日志. 如下两个git项目,我想把git的日志信息解析成一个便于在浏览器上查看的页面. https://github.com/gityf/lua https ...
- Easy Sysprep更新日志-skyfree大神
Easy Sysprep更新日志: Skyfree 发表于 2016-1-22 13:55:55 https://www.itsk.com/forum.php?mod=viewthread&t ...
- 更新日志 - fir.im「高级统计」功能上线
距离 2016 年到来只剩 10 个日夜,fir.im 也准备了一些新鲜的东西,比如「高级统计」功能和「跳转应用商店」功能,帮助你更好地管理.优化应用,欢迎大家试用反馈:) 新增高级统计功能 这次更新 ...
- 更新日志 - fir.im Jenkins & Gradle 插件上线
最近 fir.im 工程师们效率爆表,fir.im 实用工具集合又添加了新的成员-- Jenkins & Gradle 插件,让 App 打包上传更加简单快速. fir.im Jenkins ...
- 更新日志 - BugHD 新增邮件告警功能
最近 BugHD 又新增了一些功能,包括邮件告警. issue 分享. issue 备注等,同时也做了性能优化.希望能够帮助你更高效地收集解决应用崩溃. BugHD 新增功能 1.邮件告警 除了 We ...
- 更新日志 - fir.im 新版优化上线
经过这段时间的用户反馈收集和新版本的功能调研,我们对 fir.im Rio 上传下载.应用管理再次做了调整优化.感谢之前内测用户的反馈与建议.目前 fir.im Rio 新版已正式上线,主要优化有以下 ...
- 更新日志 - BugHD iOS 客户端上线
中秋.十一长假归来,"满血复活"的我们做了 fir.im 和 BugHD 的优化更新:) BugHD 新增功能 1.iOS 客户端上线 BugHD iOS 客户端上线了,你可以随时 ...
随机推荐
- windows下编译SDL1.2
首先,官网下载开发库,我这里用的是tdm-gcc,因此下载mingw版的. 解压,写代码,编译…… 成功!...地出错了 这里提一下,编译命令是 g++ test.cpp -I include目录 ...
- Debug命令详解
Debug在学习汇编的过程中,担任着一个非常重要的角色,是一个极其重要的调试工具,所以学会它是必须的. 命令格式 功能说明 A [地址] 输入汇编指令 C [范围] 起始地址 对由“范围”指定的区域与 ...
- 新建一个express项目的流程
1.先创建一个文件夹,然后创建一个项目,默认有一个:package.json 文件 #初始化项目 npm init 2.初始化项目会出现一个默认的提醒 #这个实用程序将指导您创建一个包,json文件. ...
- vbs脚本实现自动打字祝福&搞笑
脚本祝福礼物 概述 听说抖音上流行一种用代码做程序表白的东西,,,, 当然我也不是要表白,,,, 但是好像蛮有意思的,,,, 于是,又学了一下vbs脚本,做了几个很不错的祝福脚本,不懂代码的可以直接戳 ...
- mysql import error
mysql导入文件一直出错,显示ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option s ...
- Linux一键安装宝塔控制面板
Linux一键安装宝塔的命令行 yum install -y wget && wget -O install.sh http://download.bt.cn/install/inst ...
- Maven插件一览
maven-assembly-plugin 将对应模块依赖在 mvn package 阶段全部打到一个 jar 包里面: java -cp xx.jar package.name.MainClass ...
- High Availability手册(1): 环境
三台KVM虚拟机 首先我们得有一个pacemaker的环境,需要三台机器,如果没有那么多物理机器,可以用kvm虚拟机 创建一个bridge ovs-vsctl add-br ubuntu_br ifc ...
- [编译] 6、开源两个简单且有用的安卓APP命令行开发工具和nRF51822命令行开发工具
星期四, 27. 九月 2018 12:00上午 - BEAUTIFULZZZZ 一.前言 前几天给大家介绍了如何手动搭建安卓APP命令行开发环境和nRF51822命令行开发环境,中秋这几天我把上面篇 ...
- 安卓开发学习笔记(三):Android Stuidio无法引用Intent来创建对象,出现cannot resolve xxx
笔者在进行安卓开发时,发现自己的代码语法完全没有问题.尤其是创建intent对象的时候,语法完全是正确的,但是Android Stuidio却显示报错,Intent类显示为红色,如图所示: 代码如下所 ...