Skip to content
SmartSql = MyBatis + Cache(Memory | Redis) + R/W Splitting +Dynamic Repository + Diagnostics
Branch: master
Clone or download
Latest commit 23b0f54 Apr 19, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
build add support AOPTransaction to DyRepository interface [Not recommended] Apr 19, 2019
doc update XSD Apr 19, 2019
sample/SmartSql.Sample.AspNetCore add IdGenerator test Apr 18, 2019
src
.gitignore ## SmartSql-V4 Mar 17, 2019
Directory.Build.props ## SmartSql-V4 Mar 17, 2019
LICENSE ## SmartSql-V4 Mar 17, 2019
README.md update XSD Apr 19, 2019
SmartSql.png u logo path Jun 3, 2018
SmartSql.sln SmartSql.Bulk.MySqlConnector Apr 19, 2019
SmartSql.sln.DotSettings 1. add support CommandExecuter Diagnostics Apr 2, 2019

README.md

SmartSql (文档地址)

介绍

SmartSql = MyBatis + Cache(Memory | Redis) + R/W Splitting +Dynamic Repository + Diagnostics ......

她是如何工作的?

SmartSql 借鉴了MyBatis的思想,使用XML来管理SQL,并且提供了若干个筛选器标签来消除代码层面的各种if/else的判断分支。

SmartSql将管理你的SQL,并且通过筛选标签来维护本来你在代码层面的各种条件判断,使你的代码更加优美。

同时SmartSql还提供了以下各种特性(包括但不限于):

为什么选择SmartSql?

DotNet 体系下大都是Linq系的ORM,Linq很好,消除了开发人员对SQL的依赖。但却忽视了一点,SQL本身并不复杂,而且在复杂查询场景当中开发人员很难通过编写Linq来生成良好性能的SQL,相信使用过EF的同学一定有这样的体验:“我想好了Sql怎么写,然后再来写Linq,完了可能还要再查看一下Linq输出的Sql是什么样的“。这是非常糟糕的体验。要想对Sql做绝对的优化,那么开发者必须对Sql有绝对的控制权。另外Sql本身很简单,为何要增加一层翻译器呢?

那么为什么不是Dapper,或者DbHelper?

Dapper 确实很好,并且又很好的性能,但是会让给你的代码里边充斥着SQL和各种判断分支,这些将会使代码维护难以阅读和维护。另外 Dapper 只提供了DataReader到Entity的反序列化功能。而SmartSql提供了大量的特性来提升开发者的效率。

主要特性

SmartSql特性

使用 SmartCode 直接体验 SmartSql

SmartCode

Nuget Packages

Package NuGet Stable Downloads
SmartSql SmartSql SmartSql
SmartSql.Schema SmartSql.Schema SmartSql.Schema
SmartSql.TypeHandler SmartSql.TypeHandler SmartSql.TypeHandler
SmartSql.DyRepository SmartSql.DyRepository SmartSql.DyRepository
SmartSql.DIExtension SmartSql.DIExtension SmartSql.DIExtension
SmartSql.Cache.Redis SmartSql.Cache.Redis SmartSql.Cache.Redis
SmartSql.ScriptTag SmartSql.ScriptTag SmartSql.ScriptTag
SmartSql.AOP SmartSql.AOP SmartSql.AOP
SmartSql.Options SmartSql.Options SmartSql.Options
SmartSql.Bulk SmartSql.Bulk SmartSql.Bulk
SmartSql.Bulk.SqlServer SmartSql.Bulk.SqlServer SmartSql.Bulk.SqlServer
SmartSql.Bulk.PostgreSql SmartSql.Bulk.PostgreSql SmartSql.Bulk.PostgreSql
SmartSql.Bulk.MySql SmartSql.Bulk.MySql SmartSql.Bulk.MySql
SmartSql.Bulk.MySqlConnector SmartSql.Bulk.MySqlConnector SmartSql.Bulk.MySqlConnector

示例项目

SmartSql.Sample.AspNetCore

技术交流

点击链接加入QQ群【SmartSql 官方交流群】:604762592

You can’t perform that action at this time.