扯淡

这是一款轻量、高效的.NET C#数据库访问框架(ORM)。查询接口借鉴 Linq(但不支持 Linq)。借助 lambda 表达式,可以完全用面向对象的方式就能轻松执行多表连接查询、分组查询、聚合查询、插入数据、批量删除和更新等操作。

.NET Core 发布至今挺久的了,由于我本人不是很赶潮流,因此,都没去学习它,只是从“道听途说”中了解到 .NET Core 把很多功能模块化,分离开来,同时也发展跨平台。最近貌似很火,我也该追随大家的步伐了,要不真的 OUT 了。学习离不开练习,练习什么呢?就拿 Chloe 开刀吧!Chloe 已稳定许久,继上周支持 MySql 以后,于是就趁学习 .NET Core 这段时间,顺便做出个 ChloeCore 版。利用业余时间,跌跌撞撞熟悉了 .NET Core 的工作方式以及与 .NET Framework 的异同。由于 Chloe 框架本身对外依赖比较少,上周末,早上起来花了不到一个小时就把 ChloeCore 给开发出来了。移植过程基本上就是处理 Type 类型方法和属性的问题,因为原来 Type 类的很多成员都移到 TypeInfo 类上了,顾名思义,TypeInfo 就是记录一个 Class 的类型信息,听说是因为微软觉得原来 Type 类里面很多成员都不会被日常开发中用到,所以,就把大部分成员都转移到了 TypeInfo 上去了。至于其它,呃...一帆风顺,没啥棘手的~现在 Chloe 已经支持 .NET Core,感兴趣的同学可以从 NuGet 上安装来试试,NuGet Install Command:Install-Package ChloeCore.SqlServer。或者在 vs 的 NuGet 包管理器中输入 Chloe 或者 ChloeCore 就可以搜出来了。顺便吐槽一下 .NET Core,任何引用都基于 NuGet 包,对 NuGet 极度依赖,害的我花了近一天的时间在学习 NuGet 打包和发布上,折腾死我了!另外,非常感谢园友[小杰]分享了一个漂亮的 Icon 让我拿来做 Chloe 的图标!

Chloe.ORM

Chloe?什么东西?妹子吗?Chloe 刚面世不久,估计很多同学还没了解。顺带介绍下(以下内容纯属凑字数)...

Chloe 是一枚既懒又任性的程序员开发的一个数据库访问框架。目前已经支持 SqlServer 和 MySql 两种数据库。框架的增删查改都依赖 lambda 表达式,因为,作者已经懒得无可救药,厌倦了手写 Sql~

Chloe 特性

  1. 实体为纯 POCO,完全可以手写实体,无需任何代码生成器
  2. 无需任何配置文件,传个数据库连接字符串就能活泼乱跳
  3. 增删查改都可以用 lambda 表达式完成,全对象化编程,智能提示,编译检查,容错率极高
  4. 查询接口借鉴 Linq,全链式开发,无需任何学习成本
  5. 支持多表连接查询,可以直接返回强类型实体,也可以任意选取指定字段,也可以 Select 匿名对象作为返回结果,随心所欲,没有条条框框限制,想怎么玩就怎么玩,查看详情
  6. 支持聚合查询,不同于 EntityFramework,Chloe 的聚合查询更趋于标准 Sql 思想,查看详情
  7. 支持分组查询,可以结合聚合函数一起查询,灵活做统计,查看详情
  8. 连接查询、分组查询、聚合查询结合使用,可以实现很多复杂查询,完全可以让 DB “零视图”,使项目“零Sql”,查看详情
  9. lambda 表达式支持丰富,目前除了微软自家的 EntityFramework 外,还没发现有比 Chloe 支持更好的框架,觉得是吹牛欢迎来辩,我脸已经打好麻药,不怕大家来扇!查看详情
  10. 支持各种数据库函数,如 DATEADD、DATEPART、NEWID、GETDATE、GETUTCDATE、LEN、SUBSTRING 等等,不一一列举了,当然,也支持 LIKE 和 IN 语法,查看详情
  11. 支持 SqlServer2012 分页方式
  12. 查询语句灵活可控,不用担心生成的 sql 质量问题
  13. 插入数据可以自动返回自增 Id 值,会自动将自增值设置到相应的实体属性,查看详情
  14. 利用 lambda 表达式可以有选择的向指定的列插入数据
  15. 利用 lambda 表达式可以有选择的更新指定列
  16. 调用方法 TrackEntity,DbContext 会跟踪实体属性变化,可以像 EF 一样只更新属性值改变了的列,查看详情
  17. 支持批量更新数据
  18. 支持批量删除数据,查看详情
  19. 支(chun)持(shu)事(fei)务(hua)
  20. 万物皆对象,所有的一切都可以用 lambda 表达式完成
  21. 极致追求,从 DataReader 读数据纯粹调用强类型方法(GetInt32,GetInt64)获取值,避免装拆箱,性能超强,秒 Dapper,比肩手写,查看详情
  22. BUG?没有。有的只是 NotSupportedException 和 NotImplementedException

...(此处省略 N 百个字)

愤青:LZ,够了够了,少吹点会死?
好好,说完特性,咱们来谈谈缺点。
呃...嗯...呃...缺点?等你来发现~
(以上书写风格以及右下角推荐框悬浮CSS山寨园友[陌城&心灵捕手]的博客,希望陌城大大看到了不要介意哈)

上周在群里看到一张有关 .NET Core 的图,贴来让大家高兴高兴:

结语

Chloe 的革命尚未成功,目前只支持 SqlServer 和 MySql,LZ 会继续努力。接下来的发展目标是支持 SQLite,敬请期待!

Chloe.ORM 完全开源,遵循 Apache2.0 协议,托管于 GitHub,地址:https://github.com/shuxinqin/Chloe

相关介绍:http://www.cnblogs.com/so9527/p/5636216.html
性能测试:http://www.cnblogs.com/so9527/p/5674498.html

ps:LZ 初生牛犊,涉世未深,年少无知,有点儿狂妄自大,望各位口下、手下、键盘下留情,不要太当真,在下跪谢了!

[开源].NET高性能框架Chloe.ORM-完美支持.NET Core的更多相关文章

  1. [开源].NET高性能框架Chloe.ORM-完美支持SQLite

    扯淡 这是一款轻量.高效的.NET C#数据库访问框架(ORM).查询接口借鉴 Linq(但不支持 Linq).借助 lambda 表达式,可以完全用面向对象的方式就能轻松执行多表连接查询.分组查询. ...

  2. .NET高性能框架Chloe.ORM-完美支持MySql

    扯淡 这是一款轻量.高效的.NET C#数据库访问框架(ORM).查询接口借鉴 Linq(但不支持 Linq).借助 lambda 表达式,可以完全用面向对象的方式就能轻松执行多表连接查询.分组查询. ...

  3. [开源].NET数据库访问框架Chloe.ORM

    扯淡 13年毕业之际,进入第一家公司实习,接触了 EntityFramework,当时就觉得这东西太牛了,访问数据库都可以做得这么轻松.优雅!毕竟那时还年轻,没见过世面.工作之前为了拿个实习机会混个工 ...

  4. 高品质开源工具Chloe.ORM:支持存储过程与Oracle

    扯淡 这是一款高质量的.NET C#数据库访问框架(ORM).查询接口借鉴 Linq.借助 lambda 表达式,可以完全用面向对象的方式就能轻松执行多表连接查询.分组查询.聚合查询.插入数据.批量删 ...

  5. [转]高品质开源工具Chloe.ORM:支持存储过程与Oracle

    本文转自:http://www.cnblogs.com/so9527/p/6131177.html 扯淡 这是一款高质量的.NET C#数据库访问框架(ORM).查询接口借鉴 Linq.借助 lamb ...

  6. 类EF框架Chloe.ORM升级:只为更完美

    扯淡 Chloe.ORM:一款轻量.高效的.NET C#数据库访问框架(ORM).查询接口借鉴 Linq(但不支持 Linq).借助 lambda 表达式,可以完全用面向对象的方式就能轻松执行多表连接 ...

  7. Asp.Net 高性能框架 SqlSugar.ORM 2.3

    一.前言 SqlSugar从去年到现在已经一年了,版本从1.0升到了现在的2.3 ,这是一个稳定版本 ,有数家公司已经项目上线,在这里我将SqlSugar的功能重新整理成一篇新的贴子,希望大家喜欢. ...

  8. 开源DDD设计模式框架YMNNetCoreFrameWork第6篇-.net Core Logging和Nlog结合

    源码地址:https://github.com/topgunymn/YMNNetCoreFrameWork 遇到的坑:使用了Nlog以后,.NETcore自带的日志等级不起作用,只有nlog配置配置文 ...

  9. Bitter ORM NETCORE ORM 全网最粗暴简单易用高性能的 NETCore ORM 开源了

    开源的来了,懒人程序员的福音,.NET 生态闭环太缺开源精神了, 拥抱开源! 前言: 本人不是不喜欢现有ORM的轮子,而是发现现有的ORM 的都不太符合开发人员的一些习惯.现有的ORM 要么功能太冗余 ...

随机推荐

  1. Web安全相关(二):跨站请求伪造(CSRF/XSRF)

    简介 CSRF(Cross-site request forgery跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对 ...

  2. 最大半连通子图 bzoj 1093

    最大半连通子图 (1.5s 128MB) semi [问题描述] 一个有向图G = (V,E)称为半连通的(Semi-Connected),如果满足:∀ u, v ∈V,满足u->v 或 v - ...

  3. Quartz框架(第一版)

    任务调度 在企业级应用中,经常会制定一些"计划任务",即在某个时间点做某件事情 核心是以时间为关注点,即在一个特定的时间点,系统执行指定的一个操作 任务调度涉及多线程并发.线程池维 ...

  4. css知多少(11)——position

    1. 引言 本文将用一篇文章介绍position(定位),在学习position之前,我们应该去思考一个问题:什么情况下我们需要定位?如果没有定位将无法满足我们怎样的需求?我们要知道,被人类创造出来的 ...

  5. node.js express安装及示例网站搭建

    1.首先肯定是要安装Node.JS windows cmd依次输入如下命令: cd C:\Program Files\nodejs\ npm install -g expressnpm install ...

  6. MyEclipse 2016正式版更新内容

    MyEclipse 2016 Stable 1.0正式发布!在保留之前CI系列的工具之外,又新增了许多非常棒的新功能.正式版下载地址 Eclipse Mars MyEclipse 2016基于Ecli ...

  7. 最便捷的免费 SSL 证书解决方案(实测start SSL、Let's Encrypt、七牛免费SSL证书)

    谷歌从 2017 年起,Chrome 浏览器将也会把采用 HTTP 协议的网站标记为「不安全」网站:苹果从 2017 年 iOS App 将强制使用 HTTPS:在国内热火朝天的小程序也要求必须使用 ...

  8. AndroidProjects个人项目归纳

    AndroidProjects 个人总结归纳-目录大纲 Data Binding框架MVVM BaseView CollapseView 更新中... 项目地址:https://github.com/ ...

  9. 玩转Podfile

    前言 经常使用CocoaPods来管理iOS项目中的第三方库,但是我们要使用CocoaPods来管理第三方库,前提是要写好Podfile文件,通过这个文件来配置第三方库与项目之间的依赖.版本等信息. ...

  10. 5、项目间的沟通协调 - PMO项目管理办公室

    沟通是人类所具备的优良而有一定技巧的一种方式.但是,沟通也是PMO项目管理办公室中所有项目组必须建立起来的能力,也是PMO项目管理办公室日常所需要进行的一项工作内容. 一.项目间的沟通: PMO项目管 ...