我在我的c#文件中有这个查询,它工作得很好:
from var in db.database_1
where var.database_2.primarycat.Length > 0 && var.meditype.Contains("All")
xxx
select new XElement("id", new XElement("temp", var.database_2.name)
现在,我想把这个查询插入到where参数xxx:
AND name IN (
SELECT primarycat
from database_2
GROUP BY primarycat
HAVING COUNT(*) > 1)
有人能帮我吗?
一个简单的子查询应该这样做:
from var in db.database_1
where var.database_2.primarycat.Length > 0
&& var.meditype.Contains("All")
&& (from cat in db.database_2
group cat by cat.primarycat into g
where g.Count() > 1
select g.Key).Contains(var.name)
select new XElement("id", new XElement("temp", var.database_2.name)
使用子选择。看看这个帖子,它回答了几乎相同的问题。
如何在LINQ中执行子查询