Linq to sql linq中自连接条件的多重写入
我无法将此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 你提出的问题有点令人困惑。为什
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()