2010-07-29 88 views
0

有人可以帮助将此查询转换为SQL。我在linQ需要这个,我没有写perms来获得Storedprocedure的替代方案。因此LINQ是我唯一的出路,现在得到它使用Silverlight等效的LinQ查询

SELECT ISNULL(COUNT(BGID),0)AS BGCOUNT,CASE SOURCE.PRIORITY 
WHEN 1 THEN 'P1' 
WHEN 2 THEN 'P2' 
WHEN 3 THEN 'P3' 
END AS PRIORITY FROM 
(SELECT DISTINCT PRIORITY AS PRIORITY FROM BGS WHERE PRIORITY IS NOT NULL)AS SOURCE 
LEFT OUTER JOIN BGS ON BGS.PRIORITY = SOURCE.PRIORITY AND   
     TREEPATH NOT LIKE '%Prod%' AND TREEPATH LIKE '%TMS%' AND 
     TREEPATH NOT LIKE 'BG\structure\Aut\TMS%' AND STATUS = 'ACTIVE' AND 
     (ASSIGNEDTO = 'cato14' OR ASSIGNEDTO IN 
     ('useratadi','userajsudh','useramanna','useritnaga')) 
GROUP BY SOURCE.PRIORITY 
ORDER BY SOURCE.PRIORITY 
+0

寻求帮助意味着你已经做了一些事情并遇到特定的问题。目前看起来你只是要求我们为你做你的工作。你为什么不向我们展示你到目前为止所做的工作,并询问关于你所困扰的零件的具体问题?这里有一个方便的实验Linq查询工具:http://www.linqpad.net/ – 2010-07-29 12:01:16

+0

不应该在数据库中做太多格式化。你做后空翻只是为了得到空的群体。 – 2010-07-29 12:04:23

回答

0

使用如果你已经拥有SQL你满意,你可以通过调用DataContext.ExecuteQuery<T>跳过它翻译成LINQ。

+0

但是我可以在Silverlight中使用它吗? – fashai 2010-07-29 12:47:14

+0

如果您可以在Silverlight中使用DataContext,则可以使用此方法。如果你不能使用DataContext,你无法写一个linqtosql查询。 – 2010-07-29 15:25:21

+0

所以你的意思是说我们可以在Silverlight中使用这个来执行sql查询。我是否正确?我的印象是,我们不能直接使用sql查询连接到数据库,它必须通过wcf/linQ – fashai 2010-07-30 05:12:48