【发布时间】:2010-02-09 10:51:40
【问题描述】:
所以我现在正头撞墙,希望有人能来帮助拆除墙壁或阻止我的头移动!!
在过去的 3/4 周里,我一直在调查 ORM 是否为新项目做好准备。 ORM 必须映射到现有的、大型且老化的 SQL 数据库。
所以我尝试了 Subsonic。我真的很喜欢 v2 和 v3 修改后可以很好地与 VB 一起工作,并且 SQL 中的命名模式运行正常。但是,它缺乏将实体属性名称与列名称分开的灵活性,这让我大吃一惊(抱歉 Rob)。
我尝试了 Entity Framework,但我发现它和其他人一样在某些领域缺乏。
所以我硬着头皮尝试了 nHibernate,但大约一周后让它按我喜欢的方式工作(在 Codesmith 的帮助下为我生成类/hbms)我对启动所需的时间感到沮丧(构建一个config 对象),尽管尝试了一些技巧来减少这个时间。
我基本上是在构建一个可以在应用程序和网站之间共享的 DAL 类。我在吠叫错误的树吗?对于具有 100 多个表的遗留项目,我应该返回 ado.net 并使用 DTO 吗?啊!
很抱歉问题的粗鲁风格。我的头发不多了,我想保留我的头发!!
提前致谢,埃德
PS。我应该补充一点,我非常了解 SQL,并且不怕弄脏我的手来编写快速查询。如果有什么我不需要对 SQL 隐藏
【问题讨论】:
-
你有什么样的应用程序,所以 nhibernate 启动时间是一个问题? IMO,如果您直接从桌面访问数据库,它只会打扰您,而不是在中间层服务的情况下。
-
您可以通过简单地询问“如何加快 NHibernate 应用程序的启动时间?”来简化这个咆哮。
-
Andre - 我希望从桌面使用 NHibernate!作为类库的一部分,将被许多帮助应用程序引用。其中一些小应用程序需要几秒钟才能运行,使用传统的 ado.net 方法没有问题,但使用 NHibernate 会很痛苦
-
Michael - 我已经尝试了这两个建议 - 将所有映射放在一个 hbm 文件和 hbm 的二进制序列化。两者都有改进,但仍然存在明显的滞后。
标签: sql performance nhibernate orm subsonic