扯淡

这是一款轻量、高效的.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. ASP.NET Core 中文文档 第三章 原理(15)请求功能

    作者:Steve Smith 翻译:谢炀(kiler398) 校对:姚阿勇(Dr.Yao).孟帅洋(书缘) 涉及到如何处理 HTTP 请求以及响应的独立 Web 服务器功能已经被分解成独立的接口,这些 ...

  2. 『.NET Core CLI工具文档』(十四)dotnet-install 脚本参考

    说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:dotnet-install scripts reference 翻译:dotnet-install 脚本参考 名称 d ...

  3. LeetCode Online Judge 1. Two Sum

    刷个题,击败0.17%... Given an array of integers, return indices of the two numbers such that they add up t ...

  4. xampp与Hbuilder、phpstorm配置

    1.xampp的安装就不用多说了,安装完按之后出现这个界面. 2.点击中间那个按钮,运行三个选项,全部正常之后是这样的,这样xampp就不用管了,但是要记下安装的路径,之后需要用 3.首先说Hbuil ...

  5. Android EventBus 3.0.0 使用总结

    转载请标明出处:http://www.cnblogs.com/zhaoyanjun/p/6039221.html 本文出自[赵彦军的博客] 前言 EventBus框架 EventBus是一个通用的叫法 ...

  6. Android 底部弹出Dialog(横向满屏)

    项目中经常需要底部弹出框,这里我整理一下其中我用的比较顺手的一个方式(底部弹出一个横向满屏的dialog). 效果图如下所示(只显示关键部分): 步骤如下所示: 1.定义一个dialog的布局(lay ...

  7. ubuntu自动执行

    一般先写个sh脚本文件---->要执行的语句写入sh文件----->chromd -x ???.sh增加权限即可 crontab -e * * * * * /home/???.sh */1 ...

  8. 使用GIT进行源码管理 —— 在VisualStudio中使用GIT

    GIT作为源码管理的方式现在是越来越流行了,在VisualStudio 2012中,就通过插件的现实对GIT进行了官方支持,并且这个插件在VS2013中已经转正.本文在这里简单的介绍一下如何在Visu ...

  9. 【转】深入浅出JavaScript之闭包(Closure)

    闭包(closure)是掌握Javascript从人门到深入一个非常重要的门槛,它是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现.下面写下我的学习笔记~ 闭包-无处不 ...

  10. DBCC CHECKDB 遭遇Operating system error 112(failed to retrieve text for this error. Reason: 15105) encountered

    我们一个SQL Server服务器在执行YourSQLDBa的作业YourSQLDba_FullBackups_And_Maintenance时遇到了错误: Exec YourSQLDba.Maint ...