Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 级联组合框和实体结构_Asp.net Mvc_Nhibernate_Cascadingdropdown - Fatal编程技术网

Asp.net mvc 级联组合框和实体结构

Asp.net mvc 级联组合框和实体结构,asp.net-mvc,nhibernate,cascadingdropdown,Asp.net Mvc,Nhibernate,Cascadingdropdown,在我们的ASP.Net项目中,我们看到了3个甚至更多的级联组合框, 问题是我们应该如何设计基于NHibernate的实体,因为组合框之间的关系只与构建视图相关,而且3种实体类型的整个catesian产品大约有2000个实体 所以问题实际上是: 我们是否应该将实体设计为继承人,即使集合没有额外的业务价值,从而使它们成为任何其他场景的开销 数据是否应作为扁平行发送?保持实体更干净,但需要额外的 在视图一侧进行编码 与后续请求分开,例如仅在选择组合A后,才从服务器获取组合B的数据?使整个过程更加高效,

在我们的ASP.Net项目中,我们看到了3个甚至更多的级联组合框, 问题是我们应该如何设计基于NHibernate的实体,因为组合框之间的关系只与构建视图相关,而且3种实体类型的整个catesian产品大约有2000个实体

所以问题实际上是:

我们是否应该将实体设计为继承人,即使集合没有额外的业务价值,从而使它们成为任何其他场景的开销

数据是否应作为扁平行发送?保持实体更干净,但需要额外的 在视图一侧进行编码

与后续请求分开,例如仅在选择组合A后,才从服务器获取组合B的数据?使整个过程更加高效,但以性能和缓存为代价


有什么想法吗?

首先,您不应该通过一个预期的UI来设计模型实体。今天是it 3下拉列表,明天它可以在一周内自动完成一些新的新奇的wow组件,但您的模型应该保持稳定-它描述实体之间的实际业务关系,而不是您当前的UI。由此看来,我认为很明显你应该使用2和3的组合