【问题标题】:Level of separation of database objects in DALDAL 中数据库对象的分离级别
【发布时间】:2011-01-21 13:56:26
【问题描述】:

在这里寻找一些一般性的建议。

选项 1。 最好让所有主要的数据库对象(比如联系人、用户、客户等)在 DAL 中有它们的通用类,以及依赖于主要对象(ContactAddress、UserEmail 等)的 db 对象的嵌套类......这些会有多个值,因此它们包含在单独的表中)。

选项 2。 为 ContactAddress 等内容提供完全独立的 DAL 类并将这些元素组合到业务层中会更好吗?

如果我在这里没有意义,请告诉我。

【问题讨论】:

    标签: c# data-access-layer


    【解决方案1】:

    如果将所有公共类放在命名空间级别(而不是内部类),通常有助于发现。

    你引用的两个例子,可以毫无害处地概括:

    ContactAddress 变为 Address

    UserEmail 变为 Email

    这样,您以后可以根据需要重复使用它们。

    【讨论】:

      【解决方案2】:

      我通常在业务逻辑层定义我的对象,并在 DAL 对象和业务对象之间进行一些转换。我的 DAL 对象通常由一些 ORM 框架(例如 EF 或 LinqToSQL)自动生成。原因是我的业务逻辑层对象不是 POCO 的,但也包含业务逻辑,而 DAL 对象纯粹是 poco(尽管它们可能用一些 ORM 逻辑装饰)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-02
        • 1970-01-01
        • 1970-01-01
        • 2010-11-30
        • 2015-10-12
        • 2014-03-23
        • 2013-05-10
        • 1970-01-01
        相关资源
        最近更新 更多