【问题标题】:Linq-to-SQL - Application architectureLinq-to-SQL - 应用程序架构
【发布时间】:2011-04-18 13:38:47
【问题描述】:

我正在尝试设计将 UI 和数据库放在后端的应用程序。

我将使用 Linq-to-SQL 作为数据库层来更新和插入。

现在我正在尝试找出设计项目时使用的最佳实践,假设我在数据库中有 2 个表(客户、订单)

  1. 我应该依赖生成的 Linq-to-SQL 类,还是应该仍然为客户、订单创建类?

  2. 我是否应该将生成的 Linq-to-SQL 包装在另一个类中以添加验证?

我希望我的问题很清楚。

【问题讨论】:

    标签: linq-to-sql architecture


    【解决方案1】:

    在我看来,L2S 是一种出色的轻量级数据访问方法。如果您可以控制数据库并且应用程序数据处理逻辑有限,这通常是一个不错的选择。

    1. 如果您有一个带有 UI 直接与 DB 通信的两层应用程序,那么您可以依赖 L2S 生成的类。如果您有一个与客户端通信的多层应用程序,例如一个 WCF 服务,您可能需要数据传输对象。

    2. 使用 L2S 类的部分方法进行验证。

    【讨论】:

      【解决方案2】:

      我认为您应该使用其他 ORM 来更好地实现 DAL,例如实体框架或 Nhibernate,此 ORM 允许您在没有属性的情况下使用 Model First 方法 以及您应该在其他类中分离的验证逻辑,例如 MyEntityValidator 而且使用Repository pattern这个模式的好方法允许不依赖于数据访问EF或Nhibernate

      看看这个Entity Framework and Repository

      【讨论】:

        猜你喜欢
        • 2011-01-03
        • 2010-11-04
        • 2011-02-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-27
        • 2011-01-17
        • 1970-01-01
        相关资源
        最近更新 更多