游民家园

leafyoung v.s. dotnet

导航

学习ORM的困惑

    学习了一段时间的ORM相关技术(主要是NHibernate), 现在能看懂基本的程序, 也能自己写点小代码了, 但是总感觉心里没底, 和以前学习一样新技术那种充实感完全不同, 而且在实现某些功能的时候和自己比较熟悉的sql一对比, 更是感觉诚惶诚恐. 此间, 在网上看到不少对ORM的质疑和批评, 更是加重心中的不安(何况本人本来就不是ORM的忠实拥护者, 呵呵). 
    目前在学习中遇到两个问题, 感觉用目前的任何一种ORM Tool均无法解决, 而这两个问题实际上在应用中经常碰到,如果无法解决, 我感觉对于ORM的应用有很大的限制, 甚至只能被彻底放弃!

    1. 多库查询: 在SQL中同时查询多个数据库轻而易举, 在orm中好像目前是办不到的, 往往一个映射对应一个数据库, 虽然通过某些方法可能可以做到动态切换数据库进行查询, 但是假如一个原子业务中同时需要两个库的数据, 那该怎么办?
    2. 复杂查询: 这里特指那些大数据量且逻辑复杂的查询(可能会有3000行左右), 这时候在sql往往需要一些表变量存储中间数据, 这样几乎所有orm框架提供的查询机制往往都无能为力了, 那么这是不是意味在我在一个框架中同时需要原生的sql呢? 如果是这样的话, 那么采用ORM的意义将大大失去!

    可以看到, 我遇到的问题主要是查询的问题, 对于简单的查询, ORM可能游刃有余, 但是感觉对于比较复杂的逻辑,  除了SQL, 我不知道有什么更好的方法! 郁闷中……

<the end>

posted on 2005-11-29 19:50  游民一族  阅读(631)  评论(0)    收藏  举报