2012-06-17 70 views
0

请我需要某人来帮助转换此查询实体(c#)窗体。将sql查询转换为实体框架

select * 
from incident 
where Details like'%Help%' 
and status = 'Resolved' 
or details like '%Help%' and Status = 'Closed' 

看看我试图

incident = incident.Where(s => s.Details.ToUpper().Contains(SearchParam.ToUpper())); 
+1

你在你的'WHERE'条款的哪些条件(在SQL语句中)100%得到明确如何结合?我有一种感觉,你可能想要的东西比你真的*现在得到的东西... –

+0

顺便说一句,你要在LINQ中表达这个查询。 EF只是你的持久性框架。你看过LINQPad吗? –

+1

为什么不是你的查询'WHERE Details LIKE'%Help%'AND [status] IN('Resolved','Closed');'?混合'AND'和'OR'可能会令人困惑,并且多次重复同一个子句是浪费的。恕我直言。 –

回答

1
incident = incident.Where(s => s.Details.ToUpper().Contains(SearchParam.ToUpper()) 
       && (s.Status == "Resolved" || s.Status == "Closed"));