NHibernate映射/设计建议 - 连接表

时间:2009-01-11 14:10:42

标签: database sql-server-2005 nhibernate architecture

我有一个设计问题,我很欣赏一些输入。

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

tb_events

ID, 日期, 总之,


tb_group

ID, 名称, 父母, 谱系,


tb_course

ID, 名,


tb_staff

ID, 名称, 电子邮件,


事件类目前设置为

id
summary
date
calDetails IList<CalDetails>

类CalDetail

id
name

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

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

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

无论如何,我会感激任何想法。

2 个答案:

答案 0 :(得分:2)

小心不要过早优化性能。你不太可能遇到性能问题,如果它们浮出水面,它们很容易被规避。我会从最无摩擦的路线开始。你会那么开心。

答案 1 :(得分:1)

如果您使用3个连接的天真方法,您可能会受到巨大的性能影响。 Ayende有一些使用MultiCriteria来恢复性能的例子。

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