|
1
60
更新2016 六年后情况就大不一样了。NHibernate几乎被抛弃了,其他替代品也被抛弃了(例如亚音速),实体框架也许是最常见的全功能ORM,人们已经开始转向像 Dapper 多年来,以最少的开销从查询映射到对象。 应用程序场景也发生了变化。Web服务和RESTAPI不需要以牺牲内存和性能为代价加载和缓存一个大对象图,而是需要为大量较小的请求提供服务。这意味着一个完整的ORM开销不再可接受。 这意味着模式和技术,如活动记录、每个请求的事务等,已经成为吞吐量和可伸缩性的杀手锏。 目前最重要的功能之一是异步执行,以减少线程和CPU等待造成的浪费。NHibernate从未做过这种转变。 原始答案 定义“最佳”:它是最成熟的,有更多文档的,更大的社区,更主流的吗? NHibernate 更成熟,功能更丰富,具有更高级的社区,并且在MS决定再次中断兼容性时不太可能中断。 Entity Framework 更为主流,并得到了开箱即用的支持。你会发现更多的英孚初学者书籍,更多的NH高级书籍。
一个好的选择是尝试一个简单的窗体,比如
不要试图创建自己的ORM,已经有几十个了!亚音速的, Castle ActiveRecord ,NH,EF(当然) LLBLGenPro … |
|
|
2
12
如果你能花点钱,一定要看看 LLBLGEn Pro 3.0
如果你的预算很薄,那就试试看
对于较小的项目,EF4.0是一个不错的选择。 |
|
|
3
8
大多数ORM都有自己的优点和缺点。 例如,实体框架有(巨大的?)在框架本身的优势,但它也相当重,而且有点难以站起来和运行(更陡的学习曲线)。 有一些非常好,非常容易使用的商业形式。我正在使用 Lightspeed 在一个C 4项目中,对于这个特定的场景非常满意。 这实际上取决于ORM需要什么。如果你想要非常快速和容易设置和使用,光速,亚音速,和其他非常好。如果您需要完整的功能,那么实体框架和nhibernate是很好的选择。 |
|
|
4
8
把ORM称为一般观点中最好的ORM是完全不可能的。每一个都是从不同的角度来看最好的。你选择了最适合你需要的。Linq2SQL是在考虑性能的情况下编写的,但它缺少对其他提供程序的支持,Linq2SQL速度非常快。然而,还有一些在处理SQL Server时速度可能不如Linq2SQL快,但它们支持各种各样的提供程序。最好的办法是列出您希望ORM为您的项目提供的功能,并选择一个满足您所有需要的功能。`您可以问这些问题,为您的项目选择正确的ORM。
|
|
|
5
2
在创建C应用程序时,我使用Linq to SQL作为主要ORM。我最终会转向实体框架,但现在这个框架确实很容易使用而且速度很快。 |
|
|
6
1
我同意。_奇怪的是,选择正确的ORM将取决于您的需求。在Hibernate和实体框架上工作之后,我觉得后者更加用户友好,因为它是一个基于GUI的编辑器。在功能丰富性方面,nhibernate具有支持大量数据库提供者的优势。此外,定制nhibernate比调整实体框架容易得多。 假设大多数工具都能满足您的核心需求,那么我更喜欢NHibernate,因为它是一个充满活力、富有吸引力的用户社区,是任何工具的一大优势。 |
|
|
Linesofcode · 错误未指定sqlcese40。dll 8 年前 |
|
|
Arvo Bowen · 如何使用父控件的默认字体创建用户控件? 9 年前 |
|
Asdfg · 如何解析此文本并构建对象 10 年前 |
|
|
qakmak · WPF win8平板电脑模式键盘隐藏屏幕底部的项目 10 年前 |
|
|
DeJaVo · .NET4到.NET4.5运行时的更改是什么 10 年前 |