所以我的头靠在墙上,希望有人能来帮忙,要么把墙移走,要么阻止我的头移动!
在过去的 3/4 周中,我一直在调查 ORM 是否为新项目做好了准备。 ORM 必须映射到现有的大型且老化的 SQL 数据库。
所以我尝试了亚音速。我真的很喜欢 v2 和 v3,经过修改后可以与 VB 很好地配合,并且 SQL 中的命名模式运行正常。然而,它缺乏单独的实体属性名称与列名称的灵活性,这让我抓狂(对不起,罗布)。
我尝试过实体框架,但我发现它和其他框架一样在某些方面有所欠缺。
因此,我硬着头皮尝试了 nHibernate,但大约一周后,它按照我喜欢的方式工作(在 Codesmith 的帮助下为我生成类/hbms),我对启动所需的时间感到沮丧(构建配置对象) ,尽管尝试了一些技巧来减少这个时间。
我本质上是在构建一个可以在应用程序和网站之间共享的 DAL 类之后。我是不是找错了树?对于具有 100 个表的遗留项目,我应该返回 ado.net 并使用 DTO 吗?啊啊!
很抱歉问题的粗暴风格。我的头发不多了,我想保留我拥有的!!
预先感谢,艾德
附言。我应该补充一点,我非常了解 SQL,并且不害怕自己动手编写快速查询。如果有的话我不需要对 SQL 隐藏
ORM 让您:
- 将表行映射到对象,这是面向对象编程的可行部分。
- 自动浏览对象关系
- 轻松添加、编辑和删除表格行
- 以更直观的方式查询数据库,因为您不必考虑连接(这取决于 ORM 和查询方法)
- 透明地处理 L1 和 L2 缓存。
如果您不使用 ORM,则以上所有内容都必须手动处理。
PS:我同意 Dmitry 关于 NHibernate 启动时间的看法(参见问题评论)。另外,你尝试过吗流畅的NHibernate http://fluentnhibernate.org/? Fluent NHibernate 非常简单。当我第一次映射数据库时,我简直不敢相信自己的眼睛。它甚至比 DevExpress XPO 等专有 ORM 更容易。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)