请教linq多对多的问题

greenberet007 2010-11-24 03:40:44
请教Linq多对多的问题
着急等待结果
这里也发了一次 请管理员不要删除
谢谢
此贴我也会结贴的

详情如下
http://topic.csdn.net/u/20101124/15/495f2017-57cf-4330-8954-69d1602b9a91.html
...全文
124 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
claymore1114 2010-11-24
  • 打赏
  • 举报
回复
没有必要 用连接

var Query=from a in Article
let g=(from c in Category where c.parentid==1 select c.id) //取到2,3,4
where g.Any(l=>l.id==a.categoryid) //不等于2,3,4的 过滤了
select a.Id;

porschev 2010-11-24
  • 打赏
  • 举报
回复

var q =from a in Articles
join c in Category on a.Categoryid equals c.Id
where c.Parentid == 2
select new{a.Id}

jiangshun 2010-11-24
  • 打赏
  • 举报
回复
var Query=from C in (from cg in Category
where cg.parentid==1
select cg.id)
join A in Article
on C.id=A.categoryid
select A;
greenberet007 2010-11-24
  • 打赏
  • 举报
回复
自己通过lambda表达式找到解决办法了

List<Article> list = list.Join(context.Category.Where(z => z.parentid == categorymain), x => x.categoryid, y => y.id,(a,c)=>a).ToList();

但是用linq该怎么写呢

还是请指教,谢谢。

62,272

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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