【问题标题】:What should my data access layer look like with a parent-child relationship?具有父子关系的数据访问层应该是什么样子?
【发布时间】:2010-10-20 09:40:27
【问题描述】:

我正在编写我的第一个 NHibernate 应用程序,但我想这个问题适用于任何 ORM 框架。我的应用程序是一个简单的错误跟踪器(开发人员都了解问题域,对吗?),我想知道如何最好地在 DAL 中建模项目/票证关系。一个Project有多个Tickets; Ticket 必须由 Project 拥有。

我看到的每个示例都显示IRepository<T>FindAllSaveDelete 等。所以我有一个interface IProjectRepository : IRepository<Project>

我的问题来自于:我有ITicketRepository,知道如何谈论门票,还是IProjectRepository需要知道的?

或者我完全是在错误地吠叫?有人可以指出一些使用 DAL 模拟父子关系的示例代码吗?

【问题讨论】:

    标签: parent-child data-access-layer


    【解决方案1】:

    我认为,如果您只关注票证列表,您可能希望将其放在 IRepository 存储库中,您还可以将票证集合添加到项目实体并延迟加载票证。这样您就可以从您的 IRepository 中检索项目,如果您想要所有票证只需点击此集合,但如果您只是追求票证,那么您可以通过 IRepository 使用它们。

    【讨论】:

    • 但是我有两个存储库接口,还是只有一个?整个 IRepository 模式意味着我应该为每个实体类型设置一个。
    • 我认为每个实体都应该有一个,但这并不意味着您也不能利用延迟加载集合。
    猜你喜欢
    • 2019-08-21
    • 2017-12-11
    • 2013-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多