首页 新闻 会员 周边

ASP.NET关于返回查询结果的问题

0
[已解决问题] 解决于 2009-06-12 17:28

各位高手:

  有一个问题我一直不知道怎么处理比较好,问题描述如下:

  比如有两个表,表A和表B,他们间有一个字段关联为FieldComm,他们分别对应两个实体类 ModelA和ModelB;页面需要显示表A的一个字段信息FieldA和表B的一个字段信息FieldB,查询条件的字段在表B中,也就是说根据表B获取数据。

  问题就在这里,现在是先返回ModelB实体对象,然后在根据ModelB.FieldComm获取ModelA对象,最后将所有信息显示出来 比较好呢? 还是 通过表连接查询 返回数据比较好呢? 如果通过表连接返回数据 那么返回的实体对象怎么表示呢? 还有如果返回的数据比较少,比如只需要两个字段的信息,大家是采用返回实体对象还是直接返回变量?

  求高手解惑,谢谢了!

阳子的主页 阳子 | 初学一级 | 园豆:86
提问于:2009-06-09 14:26
< >
分享
最佳答案
0

写一个ModelC好了

public class ModelC {

  public ModelA A { get; set; }

  public ModelB B { get; set; }

}

使用联结查询返回结果集,返回的对象为ModelC的对象,填充ModelC中的A和B属性就相当于你已经拥有了全部的内容

Gray Zhang | 专家六级 |园豆:17610 | 2009-06-09 14:32
其他回答(3)
0

你最好在数据库中建立一个视图,这比联合查询要好很多。

也可以为视图建立一个实体类,这就视需要而定吧。

 

如果你的ORM用的是Entity Framework的话,可以使用Include方法直接加载需要关联的实体,具体参考此文:http://www.cnblogs.com/xray2005/archive/2009/06/08/1499005.html

斯克迪亚 | 园豆:4124 (老鸟四级) | 2009-06-09 17:39
0

通过表连接查询 返回数据比较好呢? 如果通过表连接返回数据 那么返回的实体对象怎么表示呢? 还有如果返回的数据比较少,比如只需要两个字段的信息,大家是采用返回实体对象还是直接返回变量?

1,当然是连接查询了,你可以再定义一个实体类(继承A,或者B),然后扩展几个你在另一类中需要的内容

如果返回数据比较少,你同上操作,多几个字段没有关系的,还是返回你新建的实体类

zjy | 园豆:3194 (老鸟四级) | 2009-06-09 22:57
0

我感觉表链接在数据量很大的时候速度会受影响。用视图或者存储过程吧。为视图或者存储过程建立实体类。

孤独斗士 | 园豆:205 (菜鸟二级) | 2009-06-10 08:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册