黑马程序员技术交流社区

标题: 关于dal返回多表数据的问题 [打印本页]

作者: 史鹏飞    时间: 2013-4-9 15:10
标题: 关于dal返回多表数据的问题
本帖最后由 史鹏飞 于 2013-4-17 11:23 编辑

按照杨老师所讲,dal层不返回DataSet\DataTable等数据集,那如果我是查询的两个表中的数据怎么办?我需要在model层定义一个同时包含这两个表数据的类吗?
作者: 王鹏程    时间: 2013-4-9 15:39
查询俩个表中的数据 那么2个表肯定有关联性,可以用inner join 比如是 student.ID inner join class.ID 来关联2表 然后 select * from "*"里要写你想查询表的字段 如: select student.Name,class.Name,比如你要返回的数据在Model中class类字段多 那么 我们就在class类中加上你要返回的student中的一些字段
在返回的时候可以返回一个泛型List<T>
作者: 郑丹丹1990    时间: 2013-4-9 22:17
查询两个表的话,建议使用视图:
例: tb_Stu(StuName,age)
     tb_SC(StuName,kemu)
create view v_ViewName
as
(
select  tb_Stu.StuName,age,kemu
from tb_Stu,tb_SC
where tb_Stu.StuName=tb_Sc.StuName
)
作者: superjojo    时间: 2013-4-10 14:43
王鹏程 发表于 2013-4-9 15:39
查询俩个表中的数据 那么2个表肯定有关联性,可以用inner join 比如是 student.ID inner join class.ID 来 ...

小白同问这个问题:loveliness:
按照LZ的意思是听课程里说DAL不建议返回DataSet\DataTable等数据集,但是用List和用Table本质上有什么区别呢?
另外按您的说法,我一开始设计好数据库的各个表,然后编写Model的时候就按表字段来编好了实体类,然后,在具体业务时才发现各种跨表查询,那么,按照您的说法,这个时候要回过头去逐一修改Model里的类吗?然后好像写好了的DAO也会跟着要修改的啊..
作者: superjojo    时间: 2013-4-10 14:44
这个问题要顶顶顶,我也想问




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2