【问题标题】:NHibernate Mapping/Design advice - join tablesNHibernate 映射/设计建议 - 连接表
【发布时间】:2009-01-12 06:42:08
【问题描述】:

我有一个设计问题,不胜感激。

我想根据以下4个表格制作一个日历事件系统:

tb_events

身份证, 日期, 总结,


tb_group

身份证, 姓名, 父母, 血统,


tb_course

身份证, 姓名,


tb_staff

身份证, 姓名, 电子邮件,


事件类当前设置为

id
summary
date
calDetails IList<CalDetails>

类 CalDetail

id
name

我的困境是是否使用一个连接表 - 将 eventID 链接到组、课程或人员的 ID 或者是否将组、课程人员集合添加到事件类中。

为每个集合设置一个集合会更容易在 hibernate 中进行映射,但我想知道使用 3 个连接会获得什么样的性能影响。 (事件表最多可以有 10-20000 条记录)。 此外,由于我在查看事件时只需要 name 属性,因此使用一个集合可以更轻松地添加另一种“事件详细信息”。

如果我要使用一个集合,是否可以在 NHibernate 中映射它。我环顾四周寻找示例,但找不到任何示例。哪一种让我觉得这可能不是一个好方法。

无论如何,如果有任何想法,我将不胜感激。

【问题讨论】:

    标签: database sql-server-2005 nhibernate architecture


    【解决方案1】:

    注意不要过早地优化性能。您不太可能会遇到性能问题,并且如果它们出现,它们很容易被规避。我会从最无摩擦的路线开始。这样你会更快乐。

    【讨论】:

      【解决方案2】:

      如果您使用 3 个连接的简单方法,您可能会受到巨大的性能影响。 Ayende 提供了一些使用 MultiCriteria 使性能恢复正常的示例。

      如果有意义的话,你也可以走子类路线。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多