.NET Chloe.ORM v2.5 简化多表连接查询操作

s
 so_while
发布于 2017年03月06日
收藏 21

Chloe.ORM:一款高质量的.Net C#数据库访问框架(ORM)。支持SqlServer、MySql、Oracle及SQLite,实体为纯POCO,支持基本数据类映射的同时也支持枚举类型。查询接口借鉴linq,支持lambda表达式,高效便捷开发。借助lambda表达式,完全用面向对象的方式就能轻松执行多表连接查询、分组查询、聚合查询、插入数据、批量删除和更新满足条件的数据等操作,开发容错率极高。

更新内容:

  • 简化连接查询操作#9:IJoiningQuery 接口增加多个重载方法,支持 query.LeftJoin((a, b) => a.SN == b.UserSN).LeftJoin((a,b,c) => b.Id==c.BId)... 写法

  • 移除 DbContext.Query<TEntity>() 和 DbContext.QueryByKey<TEntity>(object key, bool tracking = false) 的泛型 TEntity 约束(where TEntity : new()),改为抛出异常的方式,即当传入的 TEntity 泛型不含有空构造函数时会报异常提示

  • 修复bug:执行分组查询如 g = g.Having(a => true); 时,解析 a => true lambda表达式树生成错误 sql 问题

  • 移除废弃的接口,DbContext.CurrentSession 和 DbContext.Update(Expression> body, Expression> condition)

  • 更改开源协议:由 apache 2.0 更改为更加宽松的 MIT 开源协议

API文档:http://www.52chloe.com/Wiki/Document

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:.NET Chloe.ORM v2.5 简化多表连接查询操作
加载中

精彩评论

Qiujuer
Qiujuer
如果是.NET Core那还可以,.NET 基本已经被EF统治了,暂时没有发现比EF更好的。
l
liaoxuewei
感覺還是相當不錯啊
祈祷1990
祈祷1990

引用来自“Qiujuer”的评论

如果是.NET Core那还可以,.NET 基本已经被EF统治了,暂时没有发现比EF更好的。
EF的linq生成的SQL语句性能太差了,Chloe.ORM对linq生成的sql做了和好的优化,几乎和手写的sql差不多了。

最新评论(14

kidfruit
kidfruit

引用来自“Qiujuer”的评论

如果是.NET Core那还可以,.NET 基本已经被EF统治了,暂时没有发现比EF更好的。

引用来自“祈祷1990”的评论

EF的linq生成的SQL语句性能太差了,Chloe.ORM对linq生成的sql做了和好的优化,几乎和手写的sql差不多了。
@祈祷1990 尽量不要在复杂的查询直接用linq to sql,因为编译器理解的你的查询不一定和你自己理解的完全一致。
kidfruit
kidfruit

引用来自“Qiujuer”的评论

如果是.NET Core那还可以,.NET 基本已经被EF统治了,暂时没有发现比EF更好的。
@Qiujuer 貌似.net core的ef也在完善中。。。。ef确实是用过的最好用的,既灵活又强大。dapper hibernate mybatis总会有用的不舒服的地方。
c
circle_july

引用来自“Qiujuer”的评论

如果是.NET Core那还可以,.NET 基本已经被EF统治了,暂时没有发现比EF更好的。
.NET Core 的EF 才是NB的ORM 框架
Core 之前的,只能说和Nhibernate 各有千秋
c
circle_july
没有用过,但是觉得有重复造轮子的嫌疑,
”借鉴Linq“ ....这就让我觉得很尴尬,为什么不用Linq?
Linq 创建的本意,就有减少不同类库,不同数据库 学习成本,如果不遵守Linq 的话,会带来学习成本
啊呢哦
美滋滋
啊呢哦

引用来自“胡小胖”的评论

黄潇宇是最棒的

引用来自“天青色丿等烟雨”的评论

加油 你是最棒的

引用来自“狼色幽默”的评论

加油 你是最棒的

引用来自“狼色幽默”的评论

加油 你是最棒的
加油 你是最棒的!
E
EvanLin55
还是不错的
祈祷1990
祈祷1990

引用来自“Qiujuer”的评论

如果是.NET Core那还可以,.NET 基本已经被EF统治了,暂时没有发现比EF更好的。

引用来自“祈祷1990”的评论

EF的linq生成的SQL语句性能太差了,Chloe.ORM对linq生成的sql做了和好的优化,几乎和手写的sql差不多了。

引用来自“Qiujuer”的评论

本身EF是有优化的,这个真实测试过,生成语句的复杂性和性能只和开发人员有关,平时多注意就好。另外就是习惯问题了。
这个优化我觉的可能之针对mssql,反正我们公司用EF配合mysql在多表联查时,EF生成的sql默认会将多表的所有字段都select出来再组成一个临时表,性能很有问题。如果有多个子查询的话那就更崩了。
Qiujuer
Qiujuer

引用来自“Qiujuer”的评论

如果是.NET Core那还可以,.NET 基本已经被EF统治了,暂时没有发现比EF更好的。

引用来自“祈祷1990”的评论

EF的linq生成的SQL语句性能太差了,Chloe.ORM对linq生成的sql做了和好的优化,几乎和手写的sql差不多了。
本身EF是有优化的,这个真实测试过,生成语句的复杂性和性能只和开发人员有关,平时多注意就好。另外就是习惯问题了。
dhssingle
dhssingle

引用来自“Qiujuer”的评论

如果是.NET Core那还可以,.NET 基本已经被EF统治了,暂时没有发现比EF更好的。
用Dapper的也不少吧
返回顶部
顶部