代码之家  ›  专栏  ›  技术社区  ›  Maxime Rouiller

对于电子商务网站来说,ORM的最佳选择是什么?

  •  2
  • Maxime Rouiller  · 技术社区  · 16 年前

    我正在使用C 3.0/.NET 3.5并计划建立一个电子商务网站。

    我见过NHibernate,llblgen,Genome,Linq to SQL,Entity Framework,Subsonic等。

    我不想手工编码。如果存在某些特定的瓶颈,我将设法优化数据库/代码。

    哪个ORM最好?那天有太多的空余时间,我甚至不知道从哪里开始。

    我应该使用哪些功能?

    欢迎使用链接、屏幕广播和文档。

    4 回复  |  直到 11 年前
        1
  •  3
  •   JoshBerke    16 年前

    我一直在使用NHibernate,这是一个很好的免费解决方案。一个缺点是缺乏文档,这导致了一个稍微陡峭的爬坡时间。但一旦你把基础知识放下,它就会真正加速发展。

    我喜欢fluent nhibernate来配置没有XML文件的方法。不过,我建议的一件事是从应用程序中抽象出数据访问。如果你选择错误的话,你不必担心重新编码应用层。

        2
  •  1
  •   flesh    16 年前

    我只能说Linq-SQL是:

    • 易于使用
    • 快速启动并运行
    • 适用于简单模式和对象模型

    但如果:

    • 您使用的是断开连接(分层)体系结构,因为它的数据上下文需要相同的对象实例来执行跟踪和并发(尽管有很多方法可以解决这个问题)。
    • 您有一个复杂的对象模型/数据库
    • 另外,它还有一些其他的烦恼和奇怪的行为。

    我正在尝试下一个自己的ef,MS似乎在悄悄地放弃linq-sql,转而使用ef,这并不是linq-sql的一个响亮建议:)

        3
  •  1
  •   Srdjan Pejic    16 年前

    这取决于数据模型的体系结构。我可以谈谈亚音速的有效性,因为我正在启动它支持的Web应用程序。

    我在使用亚音速时遇到了连接和区别的问题。这两次,我所要做的就是修补源代码并重建DLL。现在,我一点也不反对这样的事情,但你可能是。

    除了这两个问题,亚音速是一种乐趣使用。选择是非常容易和流动的。它与SQL的映射非常接近,与Linq的映射方式非常相似。此外,Subsonic还提供了脚手架功能,该功能应该能够为您预先构建某些页面。我不知道它有多有效,因为我喜欢自己做那些事情。

    还有一件事,与*相反,选择特定行的速度很慢,但只在调试模式下。一旦您编译为发布版,它实际上会更快。

    那是我的两分钱。

        4
  •  0
  •   Steve    16 年前

    我开始使用linq-to-sql作为整个linq集成是很棒的,但是如果你想先做模型,而不是先做模式,并且你想有一个丰富的域模型,那么nhibernate\fluent nhibernate是真正的方法。我们切换到这一点,它比L2S简单得多,支持得更好。但是,如果直接将模式拖到DBML代码生成器中,Linq to SQL是非常好的。 我也听说过关于Mindscape Lightspeed的非常好的东西,但没有使用过。