【问题标题】:Best ORM option from ASP.NET MVC to mySQL从 ASP.NET MVC 到 mySQL 的最佳 ORM 选项
【发布时间】:2009-10-08 17:46:56
【问题描述】:

我一直在使用 Linq-to-SQL。使用 mySQL 有什么好的选择?我一直在研究 NHibernate、Entity Framework 等。一些比较(优点、缺点)会有所帮助

【问题讨论】:

    标签: mysql asp.net-mvc orm


    【解决方案1】:

    LLBLGen。当前版本 2.6 很棒。设计器非常易于使用,支持实体继承、类型转换器(也可用于跨 RDBMS 弥合不同类型之间的差距)、验证、审计、授权等等。最重要的是,他们的文档非常出色,而且他们的支持论坛反应迅速。首席开发人员(也在 stackoverflow 上)还回答了用户的问题。我对这个工具说得不够多,试试吧。这是非常值得的。

    下一个版本可能会将游戏中的其他所有内容都淘汰掉。除了能够在以后生成他们的传统数据之外,您还可以生成 nHibernate 映射文件、实体框架和 linq2sql。

    这是一个将 LLBLGen 与 Entity Framework 和 nHibernate 进行比较的讨论(当然,由于它在他们的论坛上,因此可能存在偏见)。 http://www.llblgen.com/tinyforum/Messages.aspx?ThreadID=12811 http://www.llblgen.com/tinyforum/Messages.aspx?ThreadID=14659

    【讨论】:

      【解决方案2】:

      看看 Mindscape LightSpeed。它包括 LINQ 查询和与 MySQL 一起工作的 Visual Studio 设计器。您也可以直接在 LightSpeed 设计器中更新数据库或同步数据库中的更改。

      Mindscape 还发布了一个开源的 asp.net MVC 助手库,其中包括他们为使 LightSpeed 和 MVC 的开发更容易而构建的东西(例如,您可能最终需要一个自定义 ModelBinder 用于任何底层模型您使用的对象 - Mindscape 提供的对象比默认模型绑定器更丰富)。

      有一个免费版本可以玩:

      Mindscape LightSpeed

      Mindscape 的一个人还写了一组相当深入的博客文章,介绍如何使用 LightSpeed 构建 ASP.NET MVC 解决方案(尽管无论您使用什么它都可能很有帮助:-)

      ASP.NET MVC & LightSpeed Blogs Posts

      【讨论】:

        【解决方案3】:

        Nhibernate 相当成熟,与实体框架相比似乎更轻量级。

        【讨论】:

          【解决方案4】:

          Entity Framework 适用于 MySQL 中的大多数事情。您会注意到这里和那里的问题,但很可能它们都是可管理的问题。

          【讨论】:

            【解决方案5】:

            试试DbLinq

            它不是 Linq to SQL 的完整端口,但它提供了基础功能。

            我还没用过,不过现在 nHibernate 也支持 Linq (check the link)。

            【讨论】:

            • 根据我的经验,为 DbLinq 生成对象类有点像 PITA。
            • 根据我的经验,DbMetal 是一种相当轻松的体验。对生成的代码稍作修改,它就像 Linq to SQL 一样工作。
            • 我同意;设置好后就无痛了。我也不需要修改生成的代码。
            【解决方案6】:

            Entity Framework 的最大缺点是缺乏本地延迟加载。我使用过 NHibernate 和 Entity Framework - 我个人更喜欢 NHibernate 的丰富性,但 Entity Framework 相当快速和容易上手,并且不像它有时得到的代表那样糟糕。

            【讨论】:

            • 是的,但请查看项目 EFLazyLoading,该项目启用实体框架的延迟加载。
            • 我知道这个项目(因此使用了本机这个词!) - 事实上,我在生产系统上使用它并且运行良好。不过,它有一些怪癖。
            【解决方案7】:

            查看 Telerik 的 OpenAccess ORM。它对任何免费或开源数据库平台(在您的情况下是 MySQL)都是免费的,并提供了一个流畅且易于使用的 GUI。更不用说 Telerik 拥有强大的支持论坛和庞大的 video training 库。

            OpenAccess 提供 LINQ 支持、POCO、正向和反向映射、高级缓存、延迟和主动加载、无反射、中等信任等等。我每天都使用它(用于 MS Sql 和 Oracle 数据访问),并发现它是企业场景和我自己的个人项目的绝佳解决方案。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2010-11-03
              • 1970-01-01
              • 1970-01-01
              • 2010-11-14
              • 2014-02-14
              • 1970-01-01
              • 2012-09-07
              • 2020-08-07
              相关资源
              最近更新 更多