我在一家开发公司工作,开发中小型基于Web的项目,我们主要使用微软技术,目前我们处于技术选择阶段,我们正在研究ORM,我们需要为我们的未来选择标准的ORM项目,现在我们将选择范围缩小为两个:-
• 休眠:-
- 成熟。
- 开源。
- 功能丰富。
- 可配置且灵活,达到最高水平。
- 得到强大社区的大力支持。
- 在很多地方都证明是成功的。
• 实体框架:-
- 微软产品;这意味着与其他 Microsoft 产品紧密集成。
- 高度支持和大量在线资源,在线社区相当强大。
- 发展非常快,修复非常快,并且一天比一天好。
- LINQ。
- 学习曲线比 Nhibernate 低。
该技术分别根据以下衡量:-
- 易于使用 - 时间在我们的项目中确实是至关重要的。
- 长期决定,我的意思是我们不会在技术之间不断转换。
- 与 Microsoft 产品集成。
- 在合规性工具(例如 Nhibernate 的 activerecord)、社区和版本方面提供支持。
- 这将是我们将使用的唯一标准。
- 配置的灵活性。
- 特性——我们不需要很多复杂的映射,也不需要二级缓存,我们现在可以用 SP 代替批处理。
我的问题选择实体框架反对 Nhibernate,作为我们公司未来 ORM 的默认实现,从长远来看,这样的决定有什么利弊?
不要误会我的意思;我知道 Nhibernate 暂时是正确的答案,但考虑到 EntityFramework 的快速发展,它是否是近期甚至远期的正确选择。
我在研究中依赖的一些资源:-
http://ayende.com/blog/4351/nhibernate-vs-entity-framework-4-0
NHibernate、实体框架、活动记录或 linq2sql
http://blogs.msdn.com/b/adonet/archive/2012/03/22/ef5-beta-2-available-on-nuget.aspx