惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
阮一峰的网络日志
阮一峰的网络日志
博客园 - 聂微东
F
Fortinet All Blogs
H
Help Net Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
D
DataBreaches.Net
MyScale Blog
MyScale Blog
B
Blog
I
InfoQ
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
GbyAI
GbyAI
Google DeepMind News
Google DeepMind News
IT之家
IT之家
The GitHub Blog
The GitHub Blog
有赞技术团队
有赞技术团队
博客园_首页
L
LangChain Blog
V
V2EX
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
The Blog of Author Tim Ferriss
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - Franky

博客园 - mapserver

MicroOrm.Net(8) Table.Query() - Distinct、Skip & Take MicroOrm.Net(7) Table.Query() - Group By & Having MicroOrm.Net(6) Table.Query() - Join & Order By MicroOrm.Net(5) Table.Query() - Select MicroOrm.Net(4) Table.Query() - Where MicroOrm.Net(3) Database、Table、Column、Expression、Math&MathE MicroOrm.Net(2) 基础及动态特性 MicroOrm.Net(1) 总览 Asp.net服务器控件编程(6) ViewState(二)——ViewState用法和IStateManager Asp.net服务器控件编程(5) 复杂属性 Asp.net服务器控件编程(4) 呈现 Asp.net服务器控件编程(3) ViewState(一)——asp.net控件的精华之一 Asp.net服务器控件编程(2) 来做个热身运动吧 Asp.net服务器控件编程(1) 开篇、基础 Asp.net服务器控件编程 总览 TextDataSource(3) — 请把我的数据更新回去 TextDataSource(2) — 翠花,上“数据” TextDataSource(1) — DataSourceControl内幕 .NET组件编程(10) 补充 ISupportInitialize
MicroOrm.Net和现有ORM产品的对比
mapserver · 2012-04-12 · via 博客园 - mapserver

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问题