2013-01-09 83 views
4

我有此查询在我的C#文件,它工作正常:SQL查询在C#(LINQ)

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插入在其中的参数此查询:

AND name IN (
SELECT primarycat 
from database_2 
GROUP BY primarycat 
HAVING COUNT(*) > 1) 

有人可以帮我吗?

回答

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)