这篇文章受你们邀请,与 SqlSugar 作一次简单的性能测试对比。主要针对插入、批量插入、批量更新、读取性能的测试;mysql
sqlSugarCore 4.9.9.3git
sqlserver 14.00.1000 Express、mysql 5.6github
以 console 程序,建立步骤:sql
一、dotnet new console数据库
二、dotnet add package FreeSqlsqlserver
三、dotnet add package sqlSugarCore性能
这个错误来自 sugar 建立数据库的时候,实体定义以下:测试
sugar的没有同步上来。编码
暂时先用 freesql 帮 sugar 建立了表。。。建立完后以下:.net
运行时又出现以下错误:
须要加一堆 IsIgnore
是的,还在报错,最终缘由是我传入的 songs 是 IEnumerable
第一次:
第二次:
EFCore 也参与进来的测试:
uploading-image-353246.png
EFCore 也参与进来的测试:
然而上面提到的批量更新,今天先到这吧。下次有兴致了再测试。
其余库我就不测试了,谢谢观看!请求献上宝贵的一星。
github:https://github.com/2881099/FreeSql
而后 针对测试的实体类,FreeSql 能够这样查询:
一对1、多对一的查询:
var t0 = fsql.Select<Tag>().Where(a => a.Parent.Parent.Name == "粤语").ToSql();
一对多的查询:
var t1 = fsql.Select<Tag>().Where(a => a.Tags.AsSelect().Any(t => t.Parent.Id == 10)).ToSql();
多对多的查询:
var t2 = fsql.Select<Song>().Where(s => s.Tags.AsSelect().Any(t => t.Name == "国语")).ToSql();
最终的测试代码:https://github.com/2881099/FreeSql/blob/master/Examples/orm_vs/Program.cs