MicroOrm.Net和现有ORM产品的对比
MicroOrm.Net主页:
http://code.google.com/p/micro-orm-net/
MicroOrm.Net系列随便目录总览:
http://www.cnblogs.com/mapserver/archive/2012/04/07/2436129.html
我写了一个系列的文章来介绍MicroOrm.Net,期间不断有同学来打击我,说没有特色,说是重复造轮子,我在写系列文章的开篇,就说了我不打算去和任何产品进行比较,但是很多同学都是眼睛一瞄就开始轻易的下定论,所以我觉得还是来详细说明MicroOrm.Net产生的背景以及和现有的ORM进行一个简单比较。
MicroOrm.Net是我现在产品中用到的一个ORM产品,产品立项初期在ORM的选择上,也是费了很多时间,但是最后决定来自己写。在MicroOrm.Net 1.0 beta出来后,使用起来感觉还不错,于是有了开源的想法,也算为同学们做点贡献。
MicroOrm.Net的特色:
1、可以不定义强类型Model;当然也支持强类型的Model:
var od = db.OrderDetail.Query() .Where(db.OrderDetail.OrderId == "001" ) .First(); string orderId = od.OrderId; int qty = od.Qty; |
2、不用去定义Model和Model之间的Mapping
3、在多个表关联查询,每个表中取部分列来做返回结果时,不用像传统的ORM那样,需要一个Model去关联另一个Model,关联了一大堆的Model;而在MicroOrm.Net里,一切都可以用Select子句来搞定
4、抛弃上下文
5、大量使用动态对象,一切都是那么随心所欲
6、MicroOrm.Net源代码很小(代码量应该在3K~4K行左右,我没有去统计),自己修改和定制很简单
VS EF & NHibernate & iBatis
1、MicroOrm.Net和EF、NHibernate不在一个数量级上
2、EF、NHibernate都必须定义Model,都必须去Mapping(不管是xml方式,还是代码方式),这也是MicroOrm.Net产生的一个最重要的原因
3、庞大
4、性能问题
5、NHibernate、iBatis配置复杂
VS Dapper.Net
Dapper.Net性能很好,但是需要自己来写Sql语句,对支持多数据库很累
VS Simple.Data
Simple.Data是一个很不错的项目,我在写MicroOrm.Net打算用它,我详细的阅读了他的源代码,也做了大量的测试,但是最后放弃了
1、代码复杂
2、方法太灵活,比如查询,有很多中查询方式,在MicroOrm.Net里,所有的查询都统一的Query方法上了
3、Bug问题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2006-04-12 .NET组件编程(10) 补充 ISupportInitialize