2011-11-12 116 views
0

我需要一些帮助将下面发现的SQL转换为C#中等价的LINQ语句,假设我也使用EF。无法将SQL查询转换为LINQ?

SELECT DISTINCT [ProductID],[NumberOfMixes] 
    FROM [EPOS_DB].[dbo].[Combinations] 
    WHERE NumberOfMixes != 1 
    Group By ProductID, NumberOfMixes 

上面的sql为我产生了正确数目的结果。我只想包装.Count().ToString方法围绕LINQ语句生成一个存储在字符串中的数值。这就是我需要的。

+2

为什么需要分组,如果你已经抓住唯一不同的元素? – BrokenGlass

+0

这是一个链接表(M:M)! – IbrarMumtaz

回答

1

事情是这样的:

var count = context.Combinations 
        .Where(x=> x.NumberOfMixes!=1) 
        .Select(x=> new { x.ProductId, x.NumberOfMixes }) 
        .Distinct() 
        .Count(); 
+0

按预期工作 - 谢谢。 – IbrarMumtaz