2013-01-09 80 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)