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 客户端上线了,你可以随时 ...
随机推荐
- AngularJS多个ng-app只解析第一个的问题
<div id="1" ng-app="myApp" ng-controller="ctrl"> <table> & ...
- 用java从0生成一个简单的excel
用java从0生成一个简单的excel 目标 用代码实现对一个excel的基础操作,包括创建,插入文字,(好像就这些了),生成的excel可以用wps打开,如果直接用c++的文件流会生成假的xls表格 ...
- 用OleDb导入Excel时提示驱动错误问题解决办法
导入格式为xls的excel文件,发生了错误 未处理System.Data.OleDb.OleDbException HResult=-2147467259 Message=外部数据库驱动程序 (1) ...
- JS获取键盘事件
<script type="text/javascript" language=JavaScript charset="UTF-8"> docume ...
- javascript中的函数节流和函数去抖
带着问题去尝试 首先我们要知道为什么要用到函数节流和函数去抖?我们带着以下的疑问来进行分析! 1.比如搜索框,你会用到什么事件(change.blur.keyup等)?去做什么效果?2.再比如scro ...
- 【原创】XAF常用属性字段设置
1.IP地址IPV4 [XafDisplayName()] [ModelDefault("EditMaskType", "RegEx")] [ModelDefa ...
- 设置mysql InnoDB存储引擎下取消自动提交事务
mysql 存储引擎中最长用的有两种,MyISAM 存储引擎和InnoDB存储引擎. 1.MyISAM 存储引擎 不支持事务,不支持外键,优势是访问速度快: 2.InnoDB存储引擎 支持事务,一般项 ...
- CSS面试细节整理(一)
最近面试时候发现自己最熟悉的css确实开发中好多细节没注意到,为了防止在栽跟头,打算从头到底捋一遍咯 语法部分: 1.css几种选择器的写法 (1)h1 em {color:red;} (后代选择器) ...
- 两行 CSS 代码实现图片任意颜色赋色技术
很久之前在张鑫旭大大的博客看到过一篇 PNG格式小图标的CSS任意颜色赋色技术,当时惊为天人,感慨还可以这样玩,私底下也曾多次想过有没有其他方法可以实现,又或者不仅仅局限于 PNG 图片. mix-b ...
- 浅析HSTS
浅析HSTS 一.HSTS是什么? HSTS全称:HTTP Strict Transport Security,意译:HTTP严格传输安全,是一个Web安全策略机制. 二.HSTS解决什么问题? 它解 ...