c#中的SQL查询(Linq)

本文关键字:Linq 查询 中的 SQL | 更新日期: 2023-09-27 17:51:15

我在我的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)

有人能帮我吗?

c#中的SQL查询(Linq)

一个简单的子查询应该这样做:

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中执行子查询