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 客户端上线了,你可以随时 ...
随机推荐
- 使用mongodb的一些笔记
show dbs # 从结果中发现有cmb_demo_23_hackeruse cmb_demo_23_hacker db.all_in_one.find({"_id":15480 ...
- nodejs编译遇到的问题
src\node_contextify.cc:631: Assertion 'args[1]->IsString()' failed. node 10 版本会出现这个问题, 安装natives后 ...
- [zt+总结]wpf 应用权限问题
一.Inno Setup打包添加和去除管理员权限 转载:https://www.cnblogs.com/walker-lc/articles/3470679.html 添加管理员权限 1.在[Setu ...
- vs2012开发基于MFC的ActiveX控件
1.新建工程 2.一直点击下一步,直到出现一下界面,注意红色标注选项,点击完成. 3.进入工程的属性界面,设置工程属性 4.添加对话框资源及其他控件,添加对话框类, 5.设置对话框属性 6.设置Dia ...
- 怎样做ie兼容性
1.<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />强制把不标准的转 ...
- 20175324 mycp
具体描述: 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX2.bin 用来把文本文件(内容 ...
- [LeetCode] Mirror Reflection 镜面反射
There is a special square room with mirrors on each of the four walls. Except for the southwest cor ...
- tomcat +jenkios
来源:https://www.cnblogs.com/edward2013/p/5269465.html 1. 安装JDK JDK下载地址: http://www.oracle.com/techne ...
- BOM与DOM操作
BOM: OM-JavaScript是运行在浏览器中的,所以提供了一系列对象用于和浏览器窗口进行交互,这些对象主要包括window.document.location.navigator和screen ...
- unittest批量执行测试用例
现有四个测试用例分别在两个.py文件中,如何执行这些文件? unittest中有这样处理:unittest.TestLoader().discover() 第一个文件test_case1.py fro ...