用C#(Linq)编写SQL查询

4

我有一个 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)

现在,我想将这个查询插入到 xxx 中的 where 参数中:
AND name IN (
SELECT primarycat
from database_2
GROUP BY primarycat
HAVING COUNT(*) > 1)

有人能帮我吗?

2个回答

5
一个简单的子查询应该可以实现这个功能:
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)

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接