LINQ嵌套查询

墨_yan 2013-10-11 09:42:09
public ActionResult Show()
{
IEnumerable<Show> model = from o in _db.CourseOrder.ToList<CourseOrder>()
select new Show
{
Classname = from s in _db.Classes where s.Classno == o.Classno select s.Classname ,
UseTime = o.UseTime,
Roomno = o.Roomno,
Cname = from p in _db.Courses where p.Cno == o.Cno select p.Cname,
Tname = from q in _db.Teachers where q.Tno == o.Tno select q.Tname
};
return View(model);
}
怎么实现LINQ嵌套查询啊?这些语句怎么都实现不了?Classname = from s in _db.Classes where s.Classno == o.Classno select s.Classname ,
Cname = from p in _db.Courses where p.Cno == o.Cno select p.Cname,
Tname = from q in _db.Teachers where q.Tno == o.Tno select q.Tname
纠结好久了,求了解的人帮帮忙,谢谢
...全文
652 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
u011055410 2014-03-19
  • 打赏
  • 举报
回复
做个记号;;;;
墨_yan 2013-10-12
  • 打赏
  • 举报
回复
引用 2 楼 q107770540 的回复:
不过我建议你用inner join:
IEnumerable<Show> model = from  o in _db.CourseOrder 
                            join s in _db.Classes on o.Classno equals s.Classno
                            join p in _db.Courses on o.Cno equals p.Cno
                            join q in _db.Teachers on o.Tno equals q.Tno
                            select new Show
                                {
                                     Classname =s.Classname ,   
                                     UseTime = o.UseTime,
                                     Roomno = o.Roomno,
                                     Cname =p.Cname, 
                                     Tname =q.Tname   
                                 }   
首先真的特别谢谢您,还有我想问您一下,关于学习LINQ,你能给推荐一本书或者可以用来学习的资料或网站吗?我刚接触,什么都不懂,谢谢!
u010316723 2013-10-12
  • 打赏
  • 举报
回复
还真不看得出
threenewbee 2013-10-12
  • 打赏
  • 举报
回复
其实Linq很简答。它就是一组函数调用。 建构在泛型、委托、Lambda表达式、接口这几个概念上,如果你能把这几个概念搞清楚,Linq就很容易理解,根本不要怎么学了。
q107770540 2013-10-11
  • 打赏
  • 举报
回复
不过我建议你用inner join:
IEnumerable<Show> model = from  o in _db.CourseOrder 
                            join s in _db.Classes on o.Classno equals s.Classno
                            join p in _db.Courses on o.Cno equals p.Cno
                            join q in _db.Teachers on o.Tno equals q.Tno
                            select new Show
                                {
                                     Classname =s.Classname ,   
                                     UseTime = o.UseTime,
                                     Roomno = o.Roomno,
                                     Cname =p.Cname, 
                                     Tname =q.Tname   
                                 }   
q107770540 2013-10-11
  • 打赏
  • 举报
回复
 
IEnumerable<Show> model = from o in _db.CourseOrder
select new Show
{
Classname = _db.Classes.Single(s=> s.Classno == o.Classno).Classname ,
UseTime = o.UseTime,
Roomno = o.Roomno,
Cname =_db.Courses.Single(p=> p.Cno == o.Cno).Cname,
Tname =_db.Teachers.Single(q=>q.Tno == o.Tno).Tname

8,493

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧