回归SQL
很多专家都承认,好的架构比新型的、奇特的架构储备更重要。这就像对于一个木匠来说,给他一个好的物料管理器并不能让他成为一个好木匠。如果这个木匠本身具备在盖房子的过程中管理物料的能力,那他就能工作得很顺手。否则这种激动人心的工具也只能带来混乱。
Koshcheyev说,“要知道ORM并不是银弹。当碰壁的时候,不要害怕回到SQL。任何ORM工具都有其缺点和限制,这是任何软件的本质。”
那么我们应该对ORM抱什么样的期望呢?它的功能应该在需要的时候就出现,不需要的时候就消失。
“从架构师的角度看,我不希望ORM在数据基础和对象模型中留下太深的烙印。”Ben Day法则,Benjamin Day Consulting。
“当对象关系映射不能工作时,我希望不用修改整个设计。有的时候用ADO.NET或存储过程可能更容易一些,”Day说,“当我需要的时候,我就是用ORM来协助我;但如果不需要,我决不碰它。我认为NHibernate在这方面做得很好。”
ORM的一个挑战就是缺乏标准,但这些会被微软的LINQ所带来的事实标准所解决,希望所有的ORM都能实现一组通用的方法来公开其查询功能。因此LINQ可能并不会威胁到新兴的ORM工具市场。
TechTalk的 Hassa说:“LINQ已成事实,问题只在于它什么时候发布,是2007年底,还是2008年?ORM领域将会出现向LINQ进行的大规模迁徙。然而只要LINQ发布了,这些工作就能保护你的投资。”
快速参考——一些面向数据的开发者解决方案
http://www.theserverside.net/news/thread.tss?thread_id=44161 What's in an ORM?
http://www.theserverside.net/news/thread.tss?thread_id=29914 Which ORM is the best?
http://www.theserverside.net/tt/articles/showarticle.tss?id=NHibernate Introducing NHibernate
http://www.theserverside.net/news/thread.tss?thread_id=39225 Periwal discusses a Pet Shop ORM
http://www.theserverside.net/news/thread.tss?thread_id=42294 EntitySpaces 1.5 Beta released
http://www.theserverside.net/news/thread.tss?thread_id=44336 Genome 3.1 for .NET
http://www.theserverside.net/news/thread.tss?thread_id=44200 2.0: ORM geared for
http://www.theserverside.net/news/thread.tss?thread_id=44185 LINQ/C# Learning Guide
http://www.theserverside.net/tt/articles/showarticle.tss?id=ORMGuide ORM Guide
作者简介
George Lawton是加拿大布里斯班的一名技术作家,为Software Magazine、Application Development Trends、IEEE Software和其他技术出版物撰文。
Jack Vaughan是TheServerSide.NET的网站编辑。他是XML/Web ServicesONE大会的副主席。他拥有12年分布式对象技术、XML和应用程序服务器方面的软件开发经验。在加盟TheServerSide.NET之前,Vaughan是Application Development Trends的一名普通编辑。