“ NHibernate的目标主要是用于与数据持久化相关的编程任务,能够使开发人员从原来枯燥的SQL语句的编写中解放出来,解放出来的精力可以让开发人员投入到业务逻辑的实现上。对于以数据为中心的程序,开发人员往往是在数据库中使用存储过程来实现商业逻辑,这种情况下NHibernate可能不是最好的解决方案,但对于那些基于.NET,并且能够实现OO业务模型和商业逻辑的中间层应用,NHibernate是最有用的。NHibernate可以帮助用户消除或者包装那些针对特定厂商的SQL代码,并且帮用户把结果集从表格式的表示形式转换成一系列的对象。 ”
百度一段话,说“对于以数据为中心的程序”不合适?

解决方案 »

  1.   

    是的,因为ORM要多耗30%的时间生成实体,而且也不适合复杂查询,更不适合用存储过程
      

  2.   

    这种ORM框架因为封装得太厉害了,所以就局限了它的应用。
    其实不是企业不企业的,一个垃圾的sql要消耗的性能远比orm框架多得多。
    主要还是看你做的系统的类型。
    如果是新闻,博客,网店,论坛一类的,无论多庞大,orm框架都能实现,而且开发效率极高,说实话运行效率没低到哪去。反而因为全都是自动生成的sql避免了很多人工编写时容易出现的bug和浪费性能的情况。。
    如果是涉及到复杂的计算,如考评系统一类的,orm框架就显得死板不灵活了。这个时候就不太适用了。
      

  3.   

    根据你的系统来NHIBERNATE 为开发也省不少事件类似的EF IBATIS 也可以。