Linq to sql linq中自连接条件的多重写入

Linq to sql linq中自连接条件的多重写入,linq-to-sql,Linq To Sql,我无法将此sql查询写入linq。请任何人提供帮助。提前谢谢 select catp.Name from Article art join Categorys cat on art.CategoryId=cat.CategoryId join Categorys catp on cat.ParentCategoryId=catp.CategoryId or cat.CategoryId = catp.CategoryId where ArticleId=24 你提出的问题有点令人困惑。为什

我无法将此sql查询写入linq。请任何人提供帮助。提前谢谢

 select catp.Name from Article art join Categorys cat on art.CategoryId=cat.CategoryId join Categorys catp
 on cat.ParentCategoryId=catp.CategoryId or cat.CategoryId = catp.CategoryId where ArticleId=24

你提出的问题有点令人困惑。为什么加入Categorys catp并编写加入条件“或cat.CategoryId=catp.CategoryId”。它将给出与以下查询相同的结果:

select cat.Name from Article art 
join Categorys cat on art.CategoryId=cat.CategoryId 
where ArticleId=24
现在,在上述查询上编写Linq应该很简单了。如果要筛选类别中ParentCategoryId=CategoryId的项,则应为:

select cat.Name from Article art 
join Categorys cat on art.CategoryId=cat.CategoryId 
where ArticleId=24 and cat.ParentCategoryId = cat.CategoryId 
林克:


请不要只是发布SQL并要求转换。至少显示一个类模型,以便导航属性和关联的多样性可见。同时,展示你自己的第一次努力。他们向我们澄清的比你想象的要多。
var result = (from cat in Categories
                join art in Articals
                    on cat.CategoryId equals art.CategoryId
                where art.CategoryId == 24 && cat.CategoryId == cat.ParentCategoryId
                select cat.Name).ToList()