【问题标题】:Designing DATA Access Layer in ASP.NET 3.5 app在 ASP.NET 3.5 应用程序中设计数据访问层
【发布时间】:2010-12-01 12:34:24
【问题描述】:

我需要决定要在公司的 Intranet 上运行的中型 Web 应用程序的数据访问层。我以前使用过 CodeSmith,发现它很有用,但是如果底层数据库模式发生变化,它会消耗大量的开发时间,所以我想取消它并尝试一些有助于快速应用程序开发的新 DAL。

请分享您对 LINQ 技术以及 ADO.Net 实体框架的看法。我从未使用过这些技术,也不知道它们是否可以成功地用于以企业数据库为中心的应用程序。

请提出任何其他值得探索的技术。

-斯维塔。

【问题讨论】:

    标签: .net linq entity-framework orm data-access-layer


    【解决方案1】:

    我认为你应该使用 Linq(而不是 LinqToSql),因为 Linq 很强大。

    我认为您应该使用 ORM,部分原因是您需要类似的东西才能使用 Linq,部分原因是在没有 ORM 的情况下创建数据层并不是花费时间和预算的好方法。

    Entity Framework 总体上没有得到很好的评价,但很多人都在使用它。它在 Visual Studio 2010 / .NET 4.0 中发生了显着变化。

    NHibernate 是大多数人用于 .NET ORM 的。有很多选项可供选择。

    我认为这是一篇关于使用存储过程的好意见:

    Stored procedures are bad, m'kay?

    如果你决定使用 ORM,你可能想看看这个问题和其他类似的问题:

    NHibernate, Entity Framework, active records or linq2sql

    【讨论】:

      【解决方案2】:

      这两个框架都很有用,如果您的数据库大部分是静态的,那么它们会更好地工作。

      我的经验是只写 SQL,但那是因为我一直在开发一个数据库驱动的应用程序,所以数据库发生了很大变化。

      对于任何 ORM,您都可以使用工具在源代码中捕获架构,然后与这些类进行交互,然后它们会进入数据库。

      您可能希望了解如何尝试编写视图或存储过程来抽象出实际的数据库表,以便您可以使用更静态的东西。

      我确实喜欢 LINQ,因为我发现执行某些功能(例如分页)比我自己在应用程序中执行更容易。

      不过,我在 ADO.NET 方面做得不多。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-03
        • 2012-06-06
        • 2010-10-11
        • 1970-01-01
        • 2013-06-21
        • 2011-11-13
        • 1970-01-01
        • 2010-11-06
        相关资源
        最近更新 更多