在我们的ASP.Net项目中,我们有一个包含3个(甚至更多)级联组合框的视图, 问题是我们应该如何设计我们的(基于NHibernate的)实体,因为组合框之间的关系仅仅是为了构建视图,并且假设3个实体类型的整个catesian产品大约是2000个实体
所以问题实际上是:
我们是否应该将实体设计为层次结构,即使这些集合没有额外的业务价值(从而使它们成为任何其他场景的开销)
数据应该作为扁平行发送吗?保持实体更“干净”,但需要额外的 在视图侧编码
分离到后续请求(例如,仅在选择组合A后,从服务器获取组合B的数据)?使整个过程更高效但是以性能和缓存为代价?
有什么想法吗?
答案 0 :(得分:0)
首先,您不应该通过一个预期的UI设计您的模型(实体)。今天是3下拉,tommorow它可以在一周内自动完成一些新的花哨的“哇”组件,但你的模型应该保持稳固 - 它描述了实体之间的实际业务关系,而不是你当前的UI。从这一点来看,我认为很明显你应该使用2和3的组合。