Bitter ORM NETCORE ORM 全网最粗暴简单易用高性能的 NETCore ORM 开源了
开源的来了,懒人程序员的福音,.NET 生态闭环太缺开源精神了, 拥抱开源!
前言: 本人不是不喜欢现有ORM的轮子,而是发现现有的ORM 的都不太符合开发人员的一些习惯。现有的ORM 要么功能太冗余,要么不符合开发人员偷懒的性格。我认为,什么是促使开发工具的进步,就是人的惰性。我们追求的开发配套工具,需要高效,简单,易用。别跟我扯里面的深奥的道理。我只希望好用,性能高,给我开发带来乐趣。 如果网上开源不符合要求,那么就自己造轮子。
在进入正式主题之前,我还是来说下我不太喜欢EF 的原因,EF 是重ORM 类型的 数据库访问持久化框架,出自于微软之手,当然很牛逼。如果,你要用EF,那么请尽量别直接写 SQL 语句,如果写了,那就失去了EF 的意义了,EF 主要是模型驱动和解决跨数据库而生的。如果你的代码编写主要以SQL 语句为主,在没有 Bitter ORM 之前,建议你使用 Dapper。 当然,Dapper 在业界的查询性能也非常好,但是,我个人感觉在程序员的惰性方面,还是不符合我的要求。当然这这是个人看法,如果有其他大神路过,可以互相交流。
Bitter.Core 优势:高性能,高轻量,用极少的代码量构建持久化业务代码。
Github 开源地址:https://github.com/DavidChild/Bitter.Core.git
Bitter.Core 有道使用教程已开放: http://note.youdao.com/s/CfBIm3Cx 在此提供大家使用
Bitter.Core 使用 DEMO 下载:https://github.com/DavidChild/Bitter.Core.Sample.git
欢迎加入Bitter.Frame 框架圈:825092487 有任何问题可以在群里面反应。
Bitter.Core 系列目录
Bitter.Core 系列 一 NETCORE ORM 全网最粗暴简单易用高性能的 NETCore ORM
- Bitter.Core系列 二 NETCORE ORM 全网最粗暴简单易用高性能的 NETCore ORM 之数据库连接
Bitter.Core 系列 三 NETCORE ORM 全网最粗暴简单易用高性能的 NETCore ORM 之 示例模型创建
- Bitter.Core 系列 四 NETCORE ORM 全网最粗暴简单易用高性能的 NETCore ORM 之 示例 查询
- Bitter.Core 系列 五 NETCORE ORM 全网最粗暴简单易用高性能的 NETCore ORM 之 示例 分页聚联查询
- Bitter.Core 系列 六 NETCORE ORM 全网最粗暴简单易用高性能的 NETCore ORM 之 示例 DataTable 模型转换
- Bitter.Core 系列 七 NETCORE ORM 全网最粗暴简单易用高性能的 NETCore ORM 示例 更新删除插入
- Bitter.Core 系列 八 NETCORE ORM 全网最粗暴简单易用高性能的 NETCore ORM 之 事务
- Bitter.Core 系列 九 NETCORE ORM 全网最粗暴简单易用高性能的 NETCore ORM 之 WITH 子句支持
- Bitter.Core 系列 十 NETCORE ORM 全网最粗暴简单易用高性能的 NETCore 之 Log 日志
- Bitter.Core系列 十一:NETCORE ORM 全网最粗暴简单易用高性能的 NETCore 之 字段变更收集器
- Bitter.Core系列 十二:NETCORE ORM 全网最粗暴简单易用高性能的 NETCore 之 Where 条件表达式
Github 开源地址:https://github.com/DavidChild/Bitter.Core.git
Bitter.Core 有道使用教程已开放: http://note.youdao.com/s/CfBIm3Cx 在此提供大家使用
Bitter.Core 使用 DEMO 下载:https://github.com/DavidChild/Bitter.Core.Sample.git
Bitter.Core 支持:
- 1:支持 MSSQL,MYSQL
- 2 : 支持模型查询,以及 SQL 查询
- 3:支持事务一次性提交
- 4:支持BuldCopy 批量事务提交
- 5:支持查询数据模型转换
- 6:支持异常抛出,事务中断
- 7:支持跨库事务提交(多次事务)
- 8:支持SQL WITH优化
- 9:支持 CONTOVER,SELECT ROW 模式的分页查询模式
- 10: 支持多库
- 11:支持读写分离
- 12 : 支持字段变更收集
- 13:支持自增主键ID 关联新增
- 14:支持字段变更收集
支持的数据类型:
| int | long | char | bit | bool | text | decimal | money | xml | binary | |
| Mssql | y | y | y | y | y | y | y | n | y | y |
| MySql | y | y | y | y | y | y | y | n | y | y |
建议:在构建数据库字段类型过程中:money 类型请使用 decimal 构建,bit 使用int来定义或者mysql 的tinyint.
Bitter ORM NETCORE ORM 全网最粗暴简单易用高性能的 NETCore ORM 开源了的更多相关文章
- Bitter.Core系列二:Bitter ORM NETCORE ORM 全网最粗暴简单易用高性能的 NETCore ORM 之数据库连接
Bitter.Core NETCore 相当的简单易用,下面附上使用示例: 数据中连接:请在你的NETCORE 项目中 创建:Bitter.json 配置文件,然后追加如下配置内容: MSSQL 连接 ...
- Bitter.Core系列十一:Bitter ORM NETCORE ORM 全网最粗暴简单易用高性能的 NETCore 之 字段变更收集器
有时候我们业务层需要记录 数据库表更改之前的值和更改之后的值的记录集合--此过程在 Bitter.Core 中有强有力的支持.Bitter.Core 字段收集器提供了方便简单易用的 收集对象在修改之前 ...
- Bitter.Core系列七:Bitter ORM NETCORE ORM 全网最粗暴简单易用高性能的 NETCore ORM 示例 更新删除插入
Bitter Orm 在操作数据库增删改的时候,支持模型驱动和直接执行裸SQL 操作,示例代码如下: 一:模型驱动(增删改) /// <summary> /// 插入,删除,更新示例(模型 ...
- Bitter.Core系列三:Bitter ORM NETCORE ORM 全网最粗暴简单易用高性能的 NETCore ORM 之 示例模型创建
在具体数据库操作之前,我们先准备好四张表以及相对应数据库操作模型: 学生表,年级表,班级表,学分表.示例数据库表,如下代码(MSSQL 为例) --学生表 CREATE TABLE t_student ...
- Bitter.Core系列五:Bitter ORM NETCORE ORM 全网最粗暴简单易用高性能的 NETCore ORM 之 示例 分页聚联查询
Bitter.Core 在聚联/分页聚联查询的时候,采用原生的MSSQL, MYSQL 语句查询,做过复杂高级项目的人知道,原生的聚合查询代码执行效率更高,更快,更容易书写,开发量最少. 借助原生的M ...
- Bitter.Core系列八:Bitter ORM NETCORE ORM 全网最粗暴简单易用高性能的 NETCore 之 事务
Bitter.Core 编写事务相当简单,Bitter.Core 尽可能的将代码编写量降为最低,例外一方方面保证客户主观能控制代码.Bitter.Core 事务提交,支持Builkcopy事务,原生事 ...
- Bitter.Core系列 十二 :Bitter ORM NETCORE ORM 全网最粗暴简单易用高性能的 NETCore 之 支持的 where 条件表达式
Bitter.Core 内置了支持大部分的 linq 的条件表达式.基本上符合我们 where 条件所需.Bitter.Core 的支持 表达式内置 扩展 有: EndsWith 在Sql 解 ...
- Bitter.Core系列十:Bitter ORM NETCORE ORM 全网最粗暴简单易用高性能的 NETCore 之 Log 日志
Bitter 框架的 Log 全部采用 NLog 日志组件.Bitter.Core 的 执行语句的日志记录 Nlog 日志级别为:info. 如果想要查看Bitter.Core 的执行SQL,先要去 ...
- Bitter.Core系列九:Bitter ORM NETCORE ORM 全网最粗暴简单易用高性能的 NETCore 之 WITH 子句支持
有时我们在聚合查询中,经常会有复杂的聚联查询.有时表的聚联查询SQL 子句比较复杂,DBA 会经常告诉们,能否通过WITH 子句优化.WITH 子句,是对SQL 聚联查询的优化.Bitter.Core ...
随机推荐
- Python--批量修改文件名称
Dr. he 最近忙着毕业论文的事情,需要将一千多张超声切面图的文件名后缀名去掉,例如:剔除文件名"1802014223FAMFIBAI.jpg"的第11个字符至第18个字符&qu ...
- %@ taglib uri="http://java.sun.com/jsp/jstl/core"prefix="c"%报错
用eclipse写jsp代码时发现下面两行代码报错:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix=&qu ...
- 通配符的匹配很全面, 但无法找到元素 'dubbo:application' 的声明 解决办法
直接升级dubbo的版本到2.6.4 下面的是我的项目的pom.xml配置的依赖 <dependency> <groupId>com.alibab ...
- 多维数组遍历.php
$a=array('fruits'=>array('a'=>'orange','b'=>'grape','c'=>'apple'), 'numbers'=>arr ...
- javap使用
在反编译前你当然需要先编译这个类了进入当前目录下:javac -g SynchronizedTest.java(使用-g参数是因为要得到下面javap -l时的输出需要使用此选项) 编译完成后,我们在 ...
- 变量提升(hoisting)
JavaScript的工作方式是,先解析代码,获取所有被声明的变量,然后再一行一行地运行.这造成的结果,就是所有的变量的声明语句,都会被提升到代码的头部,这就叫做变量提升(hoisting). con ...
- 关于HashSet
HashSet存储数据原理: 当HashSet调用add方法时,有返回值,返回值是boolean类型,表示是否添加成功(如果对象不存在,则添加成功,否则添加失败) 但是,添加的过程并不是一个个去遍历去 ...
- TurtleBot3 Waffle (tx2版华夫)(11)建图-karto建图
1)[Remote PC] 启动roscore $ roscore 2)[TurBot3] 启动turbot3 $ roslaunch turbot3_bringup minimal.launch 3 ...
- C语言基础二维数组
(1)二位数组的定义int array[n][m],行下标的取值范围是0~n-1,列下标的取值范围是0~m-1,二维数组最大下标元素是array[n-1][m-1]:如定义一个3行4列的数组 int ...
- python之logging 模块(下篇)
四.日志处理流程(第二种日志使用方式) 上面简单配置的方法例子中我们了解到了logging.debug().logging.info().logging.warning().logging.error ...