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

推荐订阅源

美团技术团队
P
Privacy International News Feed
P
Proofpoint News Feed
Security Archives - TechRepublic
Security Archives - TechRepublic
C
CXSECURITY Database RSS Feed - CXSecurity.com
Know Your Adversary
Know Your Adversary
Security Latest
Security Latest
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Attack and Defense Labs
Attack and Defense Labs
NISL@THU
NISL@THU
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
W
WeLiveSecurity
GbyAI
GbyAI
N
News and Events Feed by Topic
N
News | PayPal Newsroom
Y
Y Combinator Blog
C
CERT Recently Published Vulnerability Notes
N
Netflix TechBlog - Medium
S
Security Affairs
Spread Privacy
Spread Privacy
罗磊的独立博客
腾讯CDC
MyScale Blog
MyScale Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
L
LINUX DO - 热门话题
The Cloudflare Blog
L
LangChain Blog
博客园_首页
H
Hacker News: Front Page
宝玉的分享
宝玉的分享
Martin Fowler
Martin Fowler
博客园 - 聂微东
SecWiki News
SecWiki News
A
Arctic Wolf
爱范儿
爱范儿
Google Online Security Blog
Google Online Security Blog
T
Threat Research - Cisco Blogs
Hacker News - Newest:
Hacker News - Newest: "LLM"
有赞技术团队
有赞技术团队
The GitHub Blog
The GitHub Blog
Cyberwarzone
Cyberwarzone
博客园 - 叶小钗
V
Visual Studio Blog
V
V2EX
T
Tailwind CSS Blog
Project Zero
Project Zero
T
The Blog of Author Tim Ferriss
F
Fortinet All Blogs
MongoDB | Blog
MongoDB | Blog
D
Docker

博客园 - 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问题