【问题标题】:What is a good choice of ORM for an eCommerce website?对于电子商务网站,什么是 ORM 的好选择?
【发布时间】:2010-09-24 00:52:44
【问题描述】:

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

我见过 NHibernate、LLBLGEN、Genome、Linq to SQL、Entity Framework、SubSonic 等。

我不想手动编写所有代码。如果有一些特定的瓶颈,我会设法优化数据库/代码。

哪种 ORM 最好?那天有太多可用的东西,我什至不知道从哪里开始。

我应该使用哪些功能?

欢迎提供链接、截屏视频和文档。

【问题讨论】:

  • 检查mindscape.co.nz,他们有一个叫做 Lightspeed 的 ORM,非常灵活,也有 LINQ 集成

标签: database .net-3.5 orm c#-3.0


【解决方案1】:

我只能真正为 LINQ-SQL 说话,可以说是:

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

但如果出现以下情况,它就会开始下降:

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

我希望自己接下来尝试 EF,MS 似乎正在悄悄放弃 LINQ-SQL 以支持 EF,这并不是 LINQ-SQL 的响亮推荐 :)

【讨论】:

    【解决方案2】:

    我一直在使用 nHibernate,这是一个非常好的免费解决方案。一个缺点是缺乏文档,这会导致加速时间稍长。但是,一旦您掌握了基础知识,它确实会加快开发速度。

    我喜欢 Fluent nHibernate,因为它可以在没有 xml 文件的情况下进行配置。我建议的一件事是从您的应用程序中抽象出您的数据访问。这样,如果您选择错误,您不必担心重新编码 App 层。

    【讨论】:

    • 我还没有使用过 nHibernate,但是根据我在 Google 上的研发,nHibernate 已经死了,您能否介绍一下当前的天气情况,以便将 nHibernate 或 EF6 用于小型电子商务启动?
    • 我会厌倦在 nHibernate 上开始任何新事物。
    • 谢谢 .. Dapper 对 MVC 有好处还是我应该坚持使用 EF6
    • 从未使用过 Dapper,所以我无法发表评论。我已经开始使用 EF6 并自己关注 EF7。试图弄清楚如何从 nHibernate 开始移植
    【解决方案3】:

    这取决于数据模型的架构。我可以谈谈 SubSonic 的有效性,因为我正在启动它支持的网络应用程序。

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

    除了这两个问题,SubSonic 使用起来很有趣。选择非常容易且流畅。它与 SQL 的映射非常接近,与 LINQ 的映射方式非常相似。此外,SubSonic 带有脚手架功能,应该能够为您预先构建某些页面。我不确定它有多有效,因为我喜欢自己做这些事情。

    还有一件事,与 * 相对的特定行的选择很慢,但仅限于调试模式。一旦编译发布,它实际上会更快。

    这是我的两分钱。

    【讨论】:

      【解决方案4】:

      我开始使用 Linq to SQL,因为整个 linq 集成非常棒,但是如果你想做模型优先而不是模式优先,并且你想拥有一个丰富的域模型,那么 nHibernate\Fluent nHibernate 真的是要走的路.我们切换到这个并且比 l2s 更简单,更好的支持。然而,为了将您的模式直接拖到 dbml 代码生成器中,linq to sql 非常棒。 我也听说过关于 Mindscape Lightspeed 的好消息,但没有使用过。

      【讨论】:

        猜你喜欢
        • 2016-10-08
        • 1970-01-01
        • 2011-10-17
        • 2011-06-11
        • 1970-01-01
        • 2012-02-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多