我正在使用 NHibernate,并且员工和团队之间存在多对多关联。
现在我想显示所有员工及其团队成员的姓名。
可能性一:
- 使用 AutoMapper 并创建一个包含 Employee 属性和团队名称的 DTO(渴望加载团队)
- 在视图中显示 DTO
可能性2:
- 创建一个名为 EmployeeTeam 的新实体并将其与 NHibernate/FluentNHibernate 映射(该实体充当数据库中 Employee 和 Team 之间的关系表)
- 使用急切加载加载 TeamEmployee 包括 Employee 和 Team
- 显示 EmployeeTeam 实体
- 使用 EmployeeTeam 成员 (EmployeeTeam.Employee.Name, EmployeeTeam.Team.Name)
可能性3:
- 作为可能性 1 和 2
- 为 EmployeeTeam 使用 DTO
可能性4:
- 使用 ICriteria API
- 使用 AliasToBeanResultTransformer (没有使用这个)
可能性5:
- 使用 LINQ 到 NHibernate
- 我想我仍然需要 EmployeeTeam 实体(目前不在我的领域模型中)
这个问题的最佳实践是什么?
还有其他建议吗?