linqtosql查询问题

luhengok 2016-04-15 11:32:59
例如A表 有 id、name
B表有 id 、Aid(对应A表id)


我想查询 出这样的数据
A表id 、name、 Aid在B表的数据条数
应该怎么查!!!!!!!
...全文
2070 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dzwebs 2018-09-03
  • 打赏
  • 举报
回复
a.select(x => new { x.id, x.name, B = b.select(y => y.aid == x.id) }) 这个最简洁,要得了。
qq_41132238 2018-06-27
  • 打赏
  • 举报
回复
a.select(q=>new{q.id,q.name,count=b.select(t=>t.aid==q.id).Count()})
tianlang_2008 2018-06-07
  • 打赏
  • 举报
回复
1楼的写法有意思,就是由于楼主需要的是B中对应Id的count,所以感觉 B = b.select(y => y.aid == x.id)应该改为count=b.select(y => y.aid == x.id).count()
qq_15148111 2017-10-14
  • 打赏
  • 举报
回复
db.A.AsEnumerable().where(item=>(db.B.FirstOrDefault(k=>k.Aid==item.id)!=null)).Count()
  • 打赏
  • 举报
回复
做了个例子:
题主的A表对应到例子中的Class(班级)表,B表对应到例子中的Student(学生)表
题主要得到:班级ID,班级名称,班级里学生人数
数据库表数据如下:


Linq查询代码如下:

var query = from c in DBContext.Class
join s in DBContext.Student on c.Id equals s.ClassId into a
select new { c.Id,c.ClassName, total = a.Count() };

foreach(var item in query)
{
Console.WriteLine(string.Format("班级ID:{0},班级名称:{1},学生人数:{2}", item.Id,item.ClassName, item.total));
}
Console.ReadLine();


得到结果如下:
蝶恋花雨 2016-04-16
  • 打赏
  • 举报
回复
var query=from u in A join c in b on u.id Equals c.Aid into result select new { id=u.id, name=u.name, //count=result.Count() count= result.Count(d=>d.Field<int32>("Aid ")) count=result.Count(d=>d.Aid); };
threenewbee 2016-04-15
  • 打赏
  • 举报
回复
a.select(x => new { x.id, x.name, B = b.select(y => y.aid == x.id) })

8,497

社区成员

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

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