日期:2014-05-17  浏览次数:20406 次

查询多张表,返回一个模型,怎么解?
因为是查询多张表,一个单一的基础模型是不可能存下的。我能想到的就是
1.从相关的几个模型中取几个属性,放到主表的模型中,无疑破坏了模型结构,还产生大量冗余。
2.在主表模型中添加从表模型类型的引用,将从表模型的类变成主表的属性,但是这样,使用时就要new出从表,开辟空间,但也仅仅只要从表中的几个属性而已,得不偿失。
3.将所需的几个字段重新封装到一个新的模型类中,但着用杂七杂八的模型类很多了
求大家指点一下,该怎么办?比如返回一个模型对于多张表查询结果来说本来就是不好用的,那该用什么?如果可以用,那以什么方式进行存储模型。
求教啊!求思路!谢谢!

------解决方案--------------------
引用:
因为是查询多张表,一个单一的基础模型是不可能存下的。我能想到的就是
1.从相关的几个模型中取几个属性,放到主表的模型中,无疑破坏了模型结构,还产生大量冗余。
2.在主表模型中添加从表模型类型的引用,将从表模型的类变成主表的属性,但是这样,使用时就要new出从表,开辟空间,但也仅仅只要从表中的几个属性而已,得不偿失。
3.将所需的几个字段重新封装到一个新的模型类中,但着用杂七杂八的模型类很多了
求大家指点一下,该怎么办?比如返回一个模型对于多张表查询结果来说本来就是不好用的,那该用什么?如果可以用,那以什么方式进行存储模型。
求教啊!求思路!谢谢!

用视图  去生成视图的模型

------解决方案--------------------
VeiwModel
------解决方案--------------------
感觉属性提取组合产生一个新的模型也是符合设计规范的啊。你要想快的话,就用SQL组合多个字段直接生产datatable返回给你绑定到控件。
------解决方案--------------------
引用:
Quote: 引用:

感觉属性提取组合产生一个新的模型也是符合设计规范的啊。你要想快的话,就用SQL组合多个字段直接生产datatable返回给你绑定到控件。

也就是说,为新增一条数据(传入的是包含多张表的字段的模型)写一个专门的模型类是可以的?同理,也为查询多张表的结果专门写一个模型类来承载这些数据也是可以的?

如果只是新增数据的 话 你可以传不同的model进去,就是一个方法中参数是很多和model,如果是返回的结果,那可以专门写一个类